从UTC UTC时间戳到UTC的UTC
答
试试这个:
Date estTime = new Date(utcTime.getTime() + TimeZone.getTimeZone("EST").getRawOffset());
凡utcTime是UTC时间Date对象(如果你已经有了长远价值 - 只是用它)
答
rd42,你能给我多一点上下文吗?
你说你有一个“UTC时间戳”。这是存储在数据库中吗?它是一个字符串吗?
我也许能为您提供更多的答案,如果你可以给你想在工作这个上下文。
确定为清晰起见,你的意思是,你必须一个代表UTC时间戳的长整型值。
所以在这种情况下,你要做的是以下几点。
import java.util.Calendar;
import java.util.TimeZone;
TimeZone utcTZ= TimeZone.getTimeZone("UTC");
Calendar utcCal= Calendar.getInstance(utcTZ);
utcCal.setTimeInMillis(utcAsLongValue);
现在您的日历对象是UTC。
要显示这虽然你会想要做类似如下:
import java.text.SimpleDateFormat;
import java.util.Date;
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss zzz");
sdf.setTimeZone(utcTZ);
Date utcDate= utcCal.getTime();
sdf.formatDate(utcDate);
这将允许您在存储为一个长值UTC时区的时间戳读取,并将其转换到Java日历或日期对象。
希望能让你得到你需要的东西。
+0
该变量的类型为long并带有UTC时间戳。试图将其从1271101959000改为更友好的东西。 – rd42 2010-04-12 19:20:33
我认为使用Date类是不鼓励的。 – 2010-04-12 19:13:55
哇,太棒了!非常感谢你! – rd42 2010-04-12 19:18:05
创建日历可能相当昂贵,这是我不喜欢使用它。如果性能不是问题,使用它也是一种选择。 – duduamar 2010-04-12 19:28:06