簡體   English   中英

Java從long值中刪除毫秒精度

[英]Java remove millisecond precision from long value

所以從這個:

1459245759880

對此

1459245759000

通常的整數舍入?

long millis = 1459245759880L;
long rounded = millis / 1000 * 1000;

使用Java時間(如果您需要對結果執行日期/時間操作,則很方便 - 在這種情況下,您可以使用該時刻):

Instant i = Instant.ofEpochMilli(millis).truncatedTo(ChronoUnit.SECONDS);
long rounded = i.toEpochMilli();

更復雜(可能不是很清楚):

long rounded = 1000 * TimeUnit.SECONDS.convert(millis, TimeUnit.MILLISECONDS);
//OR
long rounded = TimeUnit.MILLISECONDS.convert(TimeUnit.SECONDS.convert(millis, TimeUnit.MILLISECONDS), TimeUnit.SECONDS);
 long x = 1459245759880;
 long y = x - (x % 1000);

使用模運算符來獲取提醒,然后從實際值中減去它。

為什么不呢

long value = 1459245759880L;
System.out.println(1000 * (value / 1000));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM