java中的Date()命令占用最短时间为什么?我的系统显示utc,我也需要utc时间?
这里最后一次检查的日期时间是存储在utc格式数据库中的日期java中的Date()命令占用最短时间为什么?我的系统显示utc,我也需要utc时间?,java,Java,这里最后一次检查的日期时间是存储在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.te
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);
当我调用这个日期()时,它是最晚的时间
String new_time=sdf.format(new Date());
Date date1 = sdf.parse(old_time);
Date date2 = sdf.parse(new_time);
我想知道这两者的区别,但是date1使用utc时间,date2使用est时间,这会在我的代码中造成障碍吗?
请建议查看
org.joda.time.DateTime
这允许您控制日期所在的时区
例如:
DateTime.now().withZone(DateTimeZone.UTC).toDate()
尝试设置默认时区-
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
也许可以查看
GregoriaCalendar
以允许时区控制。检查一下:但我在其他机器上使用的代码相同,并且工作正常。是否存在任何与机器相关的问题,或者我必须更改一个代码,但该代码与我在其他机器上使用的代码相同,并且工作正常。是否存在任何与机器相关的问题,或者我必须更改代码?默认情况下,时区来自user.timezone
系统属性,因此,如果您的两台机器上的时区不同,这将解释为什么结果之间存在差异。如果我的回答帮助您解决了问题,按堆栈溢出旁边的绿色勾号接受答案是堆栈溢出的一般做法:)您能告诉我如何看到系统的这个时区吗?因为当我在两台机器上使用date命令时,它以utc显示相同的日期。编写一个包含以下内容的快速测试:System.out.println(System.getProperty(“user.timezone”)代码>这将显示jvm的当前时区
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));