字符串到日期格式转换问题

时间:2011-07-13 14:20:23

标签: android

在我的应用程序中,我转换为CST格式的日期字符串(Thu jun 03 10:00 CST 2011),当我转换为日期对象时,它将其转换为当前时区,如Pacific Asia等,但我希望给出相同的字符串,我不希望任何时区更改。

谢谢, 巴鲁。

2 个答案:

答案 0 :(得分:1)

您是否使用正确的Locale object进行CST?

“请注意,有许多便捷方法会自动使用默认语言环境...”

答案 1 :(得分:0)

使用下面给出的代码。 locale的使用是可选的,因为它控制日期字符串出现的语言。重要的是正确使用TimeZone。尝试使用Locale和TimeZone的不同设置代码来查看输出如何更改。例如,如果您将区域设置更改为:Locale('fr','FR'),则程序将输出:13 juillet 2011 08:05:31 PDT而不是July 13, 2011 8:05:52 AM PDT。请注意,时区仍然是PDT,因为我们没有更改TimeZone。

    Locale locale = new Locale("en","US");
    TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");

    Calendar date = Calendar.getInstance(tz,locale);

    DateFormat df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG,locale);
    df.setTimeZone(tz);

    System.out.println(df.format(date.getTime()));