2012-10-12 141 views
1

我有時間戳字符串:"1989-01-01 00:00:00",我需要將其轉換爲本地日期格式。如何將時間戳字符串轉換爲本地時間字符串?

我執行:

SimpleDateFormat TIMESTAMPFORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
DateFormat.getDateFormat(getContext()).format(TIMESTAMPFORMAT.parse("1989-01-01 00:00:00")); 

而且getDateFormat返回31.12.1988

爲什麼?

我怎樣才能收到01.01.1989 ???

+0

DD.MM.YYYY - 是正確的日期格式只爲我的語言環境!我需要向用戶顯示日期,以正確格式 – Nik

+0

這不是時間戳,這是一個字符串。 – njzk2

+0

timestamp string – Nik

回答

2

爲了跳過時區格式化時,我會建議你將它設置爲如下默認設置:

SimpleDateFormat TIMESTAMPFORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
TIMESTAMPFORMAT.setTimeZone(TimeZone.getTimeZone("GMT")); 
2

這可能與涉及的時區有關。我強烈懷疑你的格式爲與你使用的時區不同,時區爲,解析,並且值基本上在午夜之前。如果你可以在兩者上使用相同的時區,它很可能會起作用。

如果你可能的話,我會鼓勵你使用Joda Time而不是 - 你真的想要一個LocalDate

相關問題