2012-10-12 145 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

相关问题