我想以毫秒为单位获取当前时间和日期.我怎么能得到这个?
我试过这个:
Date date=new Date() ;
System.out.println("Today is " +date.getTime());
Run Code Online (Sandbox Code Playgroud)
它将从1970年1月1日起返回毫秒.
但我想要今天约会的当前毫秒,如:
23:59:00 = 86340000 milliseconds
Run Code Online (Sandbox Code Playgroud)
Jor*_*ade 20
对于Java 8或更高版本,这不是正确的方法.后人保留了这个答案; 对于任何合理的现代Java,使用Basil Bourque的方法.
以下似乎有效.
Calendar rightNow = Calendar.getInstance();
// offset to add since we're not UTC
long offset = rightNow.get(Calendar.ZONE_OFFSET) +
rightNow.get(Calendar.DST_OFFSET);
long sinceMidnight = (rightNow.getTimeInMillis() + offset) %
(24 * 60 * 60 * 1000);
System.out.println(sinceMidnight + " milliseconds since midnight");
Run Code Online (Sandbox Code Playgroud)
问题是date.getTime()返回1970-01-01T00:00:00Z的毫秒数,但new Date()给出当前的本地时间.添加ZONE_OFFSET和DST_OFFSET从Calendar类中为您提供默认/当前时区的时间.