java 帮我写指定年月日 得到去年同月同日
时间: 2024-10-18 16:19:31 浏览: 25
在Java中,你可以使用`java.time`包下的日期和时间API来获取过去的特定日期。假设你想得到当前日期一年前的同月同日,可以按照以下步骤编写代码:
```java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
public class Main {
public static void main(String[] args) {
// 获取当前日期
LocalDate currentDate = LocalDate.now();
// 减去一年的时间
long yearsToSubtract = 1;
LocalDate lastYearSameDay = currentDate.minusYears(yearsToSubtract);
System.out.println("去年同月同日的日期是: " + lastYearSameDay);
}
}
```
这段代码首先获取当前的`LocalDate`,然后减去一年(`yearsToSubtract`),最后得到的就是去年的同月同日。
相关问题
使用C++写同年同月同日生的代码
在C++中,编写一个程序来检查两个日期是否为同一年、同一个月和同一天通常需要一个包含日期的类,比如`Date`。下面是一个简单的示例,展示了如何创建这样的类以及如何比较两个日期:
```cpp
#include <iostream>
#include <ctime>
class Date {
public:
// 构造函数,接收年份、月份和日期
Date(int year, int month, int day) : year(year), month(month), day(day) {}
// 获取日期的成员变量
int getYear() const { return year; }
int getMonth() const { return month; }
int getDay() const { return day; }
private:
int year;
int month;
int day;
};
// 比较两个日期是否相同
bool areDatesSame(const Date& date1, const Date& date2) {
return (date1.getYear() == date2.getYear()) && (date1.getMonth() == date2.getMonth()) && (date1.getDay() == date2.getDay());
}
int main() {
Date date1(2023, 1, 1); // 第一个日期
Date date2(2023, 1, 1); // 第二个日期
if (areDatesSame(date1, date2)) {
std::cout << "两个日期是同年同月同日生.\n";
} else {
std::cout << "两个日期不是同年同月同日生.\n";
}
return 0;
}
```
在这个例子中,我们首先定义了一个`Date`类,有三个私有成员变量分别代表年、月和日,并提供构造函数、获取年月日的方法以及一个比较两个日期是否相同的辅助函数`areDatesSame`。
在`main()`函数中,我们创建了两个日期实例`date1`和`date2`,然后通过调用`areDatesSame`函数判断它们是否同年同月同日生,并打印结果。
阅读全文