我使用DateTimeZone.convertLocalToUTC将本地时间转换为UTC。时间已正确更改,但转换后,时区信息仍显示原始本地时区。请参考下面的示例代码
Date gmttime = new Date(tz.convertLocalToUTC(System.currentTimeMillis(),false));
System.out.println(gmttime.toString());
输出: 10月16日星期三12:58:19 IST 2013
请注意粗体值,我预计它会 UTC 。如果我遗失了什么,请告诉我。
答案 0 :(得分:1)
#Date.toString()
将在当地时区打印日期。
使用SimpleDateFormat
打印针对特定Date
格式化的TimeZone
:
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat format = new SimpleDateFormat("E MMM dd HH:mm:ss:SS z");
format.setTimeZone(TimeZone.getTimeZone("UTC"));
System.out.println(format.format(date));
}
答案 1 :(得分:1)
尝试:
final Date date = new Date();
final String ISO_FORMAT = "E MMM dd HH:mm:ss zzz yyyy";
final SimpleDateFormat sdf = new SimpleDateFormat(ISO_FORMAT);
final TimeZone utc = TimeZone.getTimeZone("UTC");
sdf.setTimeZone(utc);
System.out.println(sdf.format(date));
输出:
Wed Oct 16 08:53:50 UTC 2013
答案 2 :(得分:1)
convertLocalToUTC
使用相同的本地时间将本地时刻转换为标准UTC时刻。 http://joda-time.sourceforge.net/apidocs/org/joda/time/DateTimeZone.html