我有一個問題,試圖讓DateFormat庫給我一個字符串與日期格式化爲2毫秒的地方,而不是通常的3.我意識到這是沿着釐秒線,但afaik Java不支持。Java DateFormat爲2毫秒精度
這是一些代碼來顯示我遇到的問題。我期望它輸出到兩毫秒,但它輸出三。
public class MilliSeconds {
private static final String DATE_FORMAT_2MS_Digits = "yyyy-MM-dd'T'HH:mm:ss.SS'Z'";
private static DateFormat dateFormat2MsDigits = new SimpleDateFormat(DATE_FORMAT_2MS_Digits);
public static void main(String[] args){
long milliseconds = 123456789123l;
System.out.println(formatDate2MsDigits(new Date(milliseconds)));
}
public static String formatDate2MsDigits(Date date)
{
dateFormat2MsDigits.setCalendar(Calendar.getInstance(new SimpleTimeZone(0, "GMT")));
return dateFormat2MsDigits.format(date);
}}
輸出:
1973-11-29T21:33:09.123Z
我可以分析得到的字符串,並刪除我不想要的數字,但我希望能有一個更清晰的方式來實現這一點。有誰知道如何讓這個工作,或爲什麼它不工作?
謝謝,我沒有想到在毫秒內有單獨的格式。 – Lithium 2012-02-20 16:39:52
可能一點也不復雜,但是沒有祖魯時間指標。然後修剪掉最後一個字符並添加到Z. – msandiford 2012-02-20 16:51:08