我正在try 将两个日期转换为这样的模式:yyyy-MM-dd HH:mm:ss.SSS
.
我需要检索两个日期:
- go 年,同月,第1天,00:00:00.000
- 前一个月的最后一天,23:59:59.999
所以,从今天起,我需要这两个价值观:
-
2022-11-01 00:00:00.000
个 -
2023-10-31 23:59:59.999
个
问题是:我得了2022-11-01 12:00:00.000
分.
这是生成go 年日期的代码.
private String getLastYear() {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date date = new Date();
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.YEAR, -1);
c.set(Calendar.DAY_OF_MONTH, 1);
c.set(Calendar.HOUR, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);
return format.format(c.getTime());
}
如果我try 添加一个小时,输出将是:2022-11-01 13:00:00.000
.
而且,我也无法检索上个月的最后一天.正如我已经读到的here,我得到的只是下个月的第一天.
代码是这样的.
private String getPreviousMonth() {
DateFormat format = new SimpleDateFormat(DATE_PATTERN);
Calendar c = Calendar.getInstance();
Date date = new Date();
c.setTime(date);
c.add(Calendar.MONTH, -1);
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
c.set(Calendar.HOUR, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
c.set(Calendar.MILLISECOND, 999);
return format.format(c.getTime());
}
我漏掉了一些东西. 任何帮助都是非常感谢的!