将日期长值转换为当前时区值

时间:2012-01-23 07:11:40

标签: java timezone

我有一个长日期值,我想用单词显示日期格式取决于国家时区。请帮我转换一下。

2 个答案:

答案 0 :(得分:0)

看一下java.text.DateFormat课程。它提供了几种输出当前数据和时间的选项。

例如,以下代码以en_UK语言环境的长格式选项打印当前日期和时间: DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.UK).format(new Date());

打印: 23 January 2012 08:17:36 CET

要显示任何日期,只需将long值传递给Date对象的构造函数即可。 DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.UK).format(new Date(<your long value here>));

答案 1 :(得分:0)

I have a date as long value

您需要了解日期,因为长值是自Epoch以来的毫秒时间的绝对值(UTC),即'1970年1月1日00:00:00'。该值没有嵌入时区信息。现在,如果您想在当前的当地时区显示此时间,请执行以下操作:

Date dt = new Date(1327303085000l);
System.out.printf("Date: %s%n", dt);

打印:

Date: Mon Jan 23 02:18:05 EST 2012

请注意,当它打印日期时,它会自动使用我当前的时区打印它。

但是如果您想要自定义formattng 来显示您的日期,那么您可以查看Java中的DateFormat类。