如何以毫秒为单位获取UTC日期?

时间:2019-02-07 10:49:23

标签: java android

我想要以毫秒为单位的当前日期。

我使用的是 API23 ,我不能使用Instant.now()

tvDateUTC.setText(Instant.now().toString());

我想检索如下内容:

1549536499906

4 个答案:

答案 0 :(得分:1)

java.lang.System.currentTimeMillis()

java.lang.System.currentTimeMillis()方法以毫秒为单位返回当前时间。返回值的时间单位为毫秒,该值的粒度取决于基础操作系统,并且可能更大。 / p>

例如,许多操作系统以几十毫秒为单位测量时间。

答案 1 :(得分:0)

已解决的问题:

private String getDate(){
    String ts = String.valueOf(TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()));
    return ts;
}

抱歉给您带来的不便!

答案 2 :(得分:0)

使用.getTime()方法将返回以毫秒为单位的日期。

例如

Date currentDate = new Date();

System.out.println(currentDate.getTime()); 

或者,您可以使用

Date currentTime = Calendar.getInstance().getTime();

答案 3 :(得分:0)

tl; dr

org.threeten.bp.Instant  // Represent a moment in UTC with a resolution of nanoseconds using this back-port to early Java.  
.now()                   // Capture the current moment in UTC. 
.toEpochMilli()          // Determine the count of milliseconds from the first moment of 1970 in UTC to this recorded moment. 

java.time

旧式日期时间类型很糟糕。因此,您绝对应该使用它们的替代品,即Java 8和更高版本以及Android 26和更高版本中内置的 java.time 类。

大多数 java.time 功能在ThreeTen-Backport项目中都被反向移植到Java 6和Java 7。

ThreeTenABP 项目中进一步适应了早期的Android。