【发布时间】:2017-11-28 09:15:32
【问题描述】:
我想以 15 分钟的时间间隔生成以下格式 (yyyy-mm-dd hh:mm:ss) 的时间序列。我会给出开始日期和结束日期。
使用以下代码进行测试。
public static void main(String[] args) throws ParseException {
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-mm-dd HH:mm:ss");
DateTime dt1 = formatter.parseDateTime("2017-06-21 00:00:00");
DateTime dt2 = formatter.parseDateTime("2017-06-23 00:00:00");
DateTime dateTime1 = new DateTime(dt1);
DateTime dateTime2 = new DateTime(dt2);
List<Date> allDates = new ArrayList();
while( dateTime1.isBefore(dateTime2) ){
allDates.add( dateTime1.toDate() );
dateTime1 = dateTime1.plusMinutes(15);
System.out.println(dateTime1);
}
它生成如下输出:
2017-01-21T00:15:00.000+05:30
预期的输出是 2017-06-21 00:00:00 ,它没有选择我想要的正确日期。
【问题讨论】:
-
看看你的模式。在您看来,相同的
mm模式在几个月和几分钟内都使用是正常的吗? -
我已将模式更改为 "YYYY-MM-DD HH:mm:ss" ,但仍然没有得到预期的输出。得到相同的输出。 2017-01-21T00:15:00.000+05:30 2017-01-21T00:30:00.000+05:30 2017-01-21T00:45:00.000+05:30
-
不要随意做事。阅读文档以使用 right 模式。
标签: java datetime jodatime datetime-format datetime-parsing