java中的Date()命令占用时间为什么?我的系统显示utc,我也想要utc时间?

时间:2014-07-24 08:51:55

标签: java

这里的last_checked_datetime是我的日期,存储在数据库中,格式为utc格式,

 Timestamp ts1=rs9.getTimestamp("last_checked_datetime");
 java.sql.Date last_chk=new java.sql.Date(ts1.getTime());
 java.util.Date time=new java.util.Date(last_chk.getTime());
 java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("HH:mm:ss");
 String old_time=sdf.format(time);

当我调用此Date()时,它是打印EST时间

 String new_time=sdf.format(new Date());
 Date date1 = sdf.parse(old_time);
 Date date2 = sdf.parse(new_time);

我想要这两个区别但是date1需要utc时间和日期2占用时间,这会导致我的代码中出现障碍? 请建议

3 个答案:

答案 0 :(得分:1)

尝试设置默认时区 -

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

答案 1 :(得分:0)

查看org.joda.time.DateTime

这允许您控制日期所在的时区。

例如:

DateTime.now().withZone(DateTimeZone.UTC).toDate()

答案 2 :(得分:0)

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("EST"));
//change the timezone
cal.setTimeZone(TimeZone.getTimeZone("UTC"));