我了解kk应该导致小时数介于1到24之间。但是,这种格式的日子如何变化似乎存在问题。
这是示例代码,其输出说明了我的观点:
Long HOUR = 3600000L;
SimpleDateFormat kkFormat = new SimpleDateFormat("yyyy-MM-dd kk");
SimpleDateFormat HHFormat = new SimpleDateFormat("yyyy-MM-dd HH");
Date date = kkFormat.parse("2015-05-20 21");
for(int i=0; i<5; i++){
System.out.println(kkFormat.format(new Date(date.getTime() + i * HOUR)));
System.out.println(HHFormat.format(new Date(date.getTime() + i * HOUR)));
System.out.println();
}
这将产生以下输出:
2015-05-20 21
2015-05-20 21
2015-05-20 22
2015-05-20 22
2015-05-20 23
2015-05-20 23
2015-05-21 24
2015-05-21 00
2015-05-21 01
2015-05-21 01
我看到的问题是“ 2015-05-21 24”,如果此日期不能设置为“ 2015-05-20 24”。
感谢您的澄清。
编辑:为了回答Dan Getz,我正在尝试创建如下迭代的文件名:
2015052023.txt
2015052024.txt
2015052101.txt
星期几取决于时区,与小时的编写方式无关。因此,如果日期是21日,则日期是故事的21日。将“ 12am”写为“ 00”或“ 24”与此无关。
也许您忘记了一个小时有60分钟的不同时间?午夜不只是时钟敲响的第一刻,而是我们谈论的是整整一个小时,这显然是下一个24小时工作日的一部分。
由于这种歧义,我个人永远不会在凌晨12点以后使用24。也许您可以编辑您的问题,为什么要使用24小时作为时间?您的数据模型真的是时间戳记毫秒或类似吗?还是您希望存储和打印其他内容?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句