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小時」應該是一段時間的開始還是結束? –