我正在开发Spring MVC项目。这是一个准在线系统,每个客户端都会在他们的机器上安装我们的系统(Tomcat n Mysql将通过安装程序安装)。他们将通过将他们的机器连接到互联网来下载数据。下载数据后,他们可以断开互联网连接。
通过考虑上述情况,我们希望根据时区验证系统日期时间是否正确。我检查了How to get local time of different time zones?,代码:
java.util.TimeZone tz = java.util.TimeZone.getTimeZone("IST");
java.util.Calendar c = java.util.Calendar.getInstance(tz);
System.out.println(c.get(java.util.Calendar.HOUR_OF_DAY)+":"+c.get(java.util.Calendar.MINUTE)+":"+c.get(java.util.Calendar.SECOND));
给出系统的相同时间。我想要根据时区告诉时间的东西。与在OS时钟上设置时区时相同,它将根据该时区自动设置正确的日期和时间。
这样的实施:
Date accurateTimeZoneDate = //HERE I WANT SOMETHING TO GET DATE ACCORDING TO TIME ZONE.
Date machineCurrentDate = new Date();
if(accuratetimeZoneDate == machineCurrentDate)
{
//machine date and time zone date is correct.
}
else
{
//machine date and time zone date is NOT correct.
}
更新
我们试过这个:
每天必须将系统连接到互联网,以便应用程序ping到中央ntp并获取时间并进行验证。一旦验证成功,他们就可以断开互联网连接。但在这种情况下,验证后他们会切换到旧日期并使用过期内容。
答案 0 :(得分:-2)
好的,如果你想要系统时间和日期,那么你应该尝试new Date()
。
它会给出时区的当前日期时间。
您应该使用Calendar
new Date()
System.out.println("当前日期和时间" +新日期());