有没有办法在java中获取未修改的日期和时间?
问题描述:
假设我更改系统日期和时间。当我在Java中使用Date
或Calendar
对象时,我得到的修改/修改时间不正确。有没有办法在java中获取未修改的日期和时间?
我需要确切的本地时间,而不是修改时间。
long millis = System.currentTimeMillis();
SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a");
Date date = new Date(millis);
System.out.println(dateFormat.format(date));
答
好吧,我想你可以查询一些远程服务器/服务,以获得正确的时间,然后将其转换到本地区域(如果需要)。
但是因为System.currentTimeMillis()
使用系统的日期和时间,所以使用这段代码时根据specifications得到的结果是正确的。请阅读this SO post以获取关于内部工作原理的更详细说明。
然后不要修改时间。 – Kayaman
从服务器下载它在这个问题中完成:https://stackoverflow.com/questions/7081262/getting-time-from-public-time-server-using-timetcpclient –
@FrancescoSerra,这与特定的服务器正常工作。我认为服务器应该支持NTP来获得上面的代码。 虽然我有一台服务器,但是我没有收到任何回报。 我该怎么做才能从我的服务器获得时间? – Sudeep