我有一个日期作为长值,我想用单词显示日期格式,这取决于国家时区。请帮我转换一下。
看看java.text.DateFormat
类。它提供了几个如何输出当前数据和时间的选项。
例如,以下代码以en_UK区域设置的长格式选项打印当前日期和时间:DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.UK).format(new Date());
打印:23 January 2012 08:17:36 CET
要显示任何日期,只需将长值传递给Date
对象的构造函数即可。DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, Locale.UK).format(new Date(<your long value here>));
I have a date as long value
您需要理解日期,因为long值是自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类。