如何将时间戳字符串转换为本地时间字符串?

时间:2012-10-12 13:06:31

标签: java android date format

我有时间戳字符串:"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 ???

2 个答案:

答案 0 :(得分:2)

这可能与所涉及的时区有关。我强烈怀疑你在解析的时区中的格式,并且值基本上在午夜之前。如果你可以在两者上使用相同的时区,它可能会起作用。

如果可能的话,我建议您使用Joda Time,而不是 - 你真的需要LocalDate

答案 1 :(得分:2)

为了在格式化时跳过时区,我建议您将其设置为默认值,如下所示:

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