我有一个表示UTC时间的Date对象。当我使用getTime()方法来获取这个对象的长值时,返回的值对应于我们的本地时间(美国中部)。获取与原始UTC时间对应的值的正确方法是什么?
谢谢
发布于 2010-03-09 01:14:15
DateFormat
类有a method for setting your preferred time zone,还有一个时区类有a setting for UTC time。
举个例子,
SimpleDateFormat sdf = new SimpleDateFormat();
sdf.setTimeZone(new SimpleTimeZone(SimpleTimeZone.UTC_TIME, "UTC"));
Date yourUtcDate = sdf.parse(yourOriginalDate);
发布于 2010-03-09 05:13:21
java.util.Date
没有时区的概念。它只保存相对于纪元的时间,即Jan 1 1970 00:00:00 UTC。Date是一个模型,独立于视图。显示日期时,将应用时区的概念。date的toString()以默认时区显示人类可读的日期。您可以使用DateFormat
显示不同时区的日期,也可以更改其缺省时区。
发布于 2010-03-09 01:12:38
getTime()
返回“自1970年1月1日00:00:00GMT以来的毫秒数”,不多也不少(显然,您必须正确创建它)。你可以随心所欲地格式化它,比如从GregorianCalendar(TimeZone)
构造函数开始。
https://stackoverflow.com/questions/2403109
复制相似问题