3
据我所知,kk应该会导致小时数在1-24之间。但是,这种格式化的日子如何变化似乎存在一个问题。用kk小时格式化的Java SimpleDateFormat问题
下面是示例代码和它的输出来说明我的观点:
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年5月21日24问题“如果这个日期不被格式化为”2015-05-20 24“。
感谢您的澄清。
编辑:在回答丹·盖茨我想如下创建迭代文件名:
2015052023.txt
2015052024.txt
2015052101.txt
24小时= 1天:) – nafas
是的,但它是第20天的最后一个小时。不是第21天的最后一小时.kk应该从1到24进行迭代,我的解释是给定的一天。为什么一天的时间从23小时变为24小时。 – gstanley
感谢您为您的问题编辑更多信息。你只是试图创建一些文件名,或者这些文件名是否与时间戳相链接,比如创建文件的时间或将要记录在文件中的事件? “24小时”应该是一段时间的开始还是结束? –