java处理毫秒,微秒,纳秒时间格式

最近需要处理微秒时间格式,在网上搜索发现资料不是太多,分享一个供大家学习讨论。

jdk版本1.8

/**
     * @describe:
     * @param time long类型的时间格式
     * @param unit time的时间类型 milli-毫秒,micro-微秒,nano-纳秒
     * @param format 返回的时间格式 如 yyyy-MM-dd HH:mm:ss.SSSSSS
     * @return: java.lang.String
     * @author: jsuper
     **/
    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));
    }

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值