时间格式化,可精确到微秒和纳秒
package com.zongel.dltserver.util;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.concurrent.TimeUnit;
public class DateUtils {
/**
* @describe:
* @param time long类型的时间格式
* @param unit time的时间类型 milli-毫秒,micro-微秒,nano-纳秒
* @param format 返回的时间格式 如 yyyy-MM-dd HH:mm:ss.SSSSSS
* @return: java.lang.String
* @author: zongel
* @example 把微秒时间戳格式化为字符串toDateTimeString(1696921223010305l,TimeUnit.MICROSECONDS,"yyyy-MM-dd HH:mm:ss.SSSSSS");
**/
public static String toDateTimeString(Long time, TimeUnit unit, String format) {
Long nanos = 0L;
Long convertTime=null;
if (unit.equals(TimeUnit.NANOSECONDS)) {//纳秒
nanos = time % 1000_000_000;
convertTime=time/1000_000;
} else if (unit.equals(TimeUnit.MICROSECONDS)) {//微秒
nanos = time % 1000_000*1000;
convertTime = time/1000;
} else if (unit.equals(TimeUnit.MILLISECONDS)) {//毫秒
nanos = time % 1000*1000_000;
convertTime=time;
}
Calendar calendar=Calendar.getInstance();
calendar.setTimeInMillis(convertTime);
LocalDateTime localDateTime = LocalDateTime.of(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH)+1, calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND), nanos.intValue());
return localDateTime.format(DateTimeFormatter.ofPattern(format));
}
}
北斗高精度授时服务器(高性能款):https://www.xhtime.cn/people/index/productDetail?id=1426115352228732929

卫星授时OEM模块:https://www.xhtime.cn/people/index/productDetail?id=1426072495660933121


浙公网安备 33010602011771号