【发布时间】:2012-09-11 20:13:10
【问题描述】:
我希望这不是重复。 我在这里检查了其他搜索,所有搜索似乎都在谈论使用 SimpleDateFormat 以正确的 TimeZone 格式“显示”日期。
但是,我的问题是我获得了一个 XMLGregorianCalendar 对象,让我们在“CET”中说。
我必须从这个对象中找出格式,并将当前时间也发送到与服务器相同的 TimeZone 中。
例如:我需要一个以这种格式返回我的 XMLGregorianCalendar 对象(带时区):
2012-09-19T15:23:36.421+02:00
所以我只是尝试了以下 sn-p 似乎只返回本地时区的时间:(
TimeZone utc = TimeZone.getTimeZone("CET");
GregorianCalendar gc = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssZ");
df.setTimeZone(utc);
System.out.println(" - Gregorian UTC [" + df.format(gc.getTime()) + "]")
XMLGregorianCalendar currServTime = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
System.out.println("currServTime is "+currServTime);
【问题讨论】:
-
这应该是
TimeZone utc = TimeZone.getTimeZone("UTC");不是 CET 吗? -
当然。为了确定,我正在尝试各种示例字符串!
标签: java time timezone datetime-format