加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用特定模式将Instant格式化为String

发布时间:2020-12-14 23:58:45 所属栏目:Java 来源:网络整理
导读:我正在尝试使用特定格式将Instant格式化为String.根据 Format Instant to String的问题,我这样做 – DateTimeFormatter formatter = DateTimeFormatter .ofPattern("YYYY-MM-DD'T'hh:mm'Z'") .withZone(ZoneOffset.UTC);// Fails for current time with erro
我正在尝试使用特定格式将Instant格式化为String.根据 Format Instant to String的问题,我这样做 –
DateTimeFormatter formatter = DateTimeFormatter
        .ofPattern("YYYY-MM-DD'T'hh:mm'Z'")
        .withZone(ZoneOffset.UTC);

// Fails for current time with error 'Field DayOfYear cannot be printed as the 
// value 148 exceeds the maximum print width of 2'
LocalDateTime 
      .ofInstant(Instant.now(),ZoneOffset.UTC)
      .format(DATE_TIME_FORMATTER);

// But works for smaller values of Instant    
LocalDateTime
     .ofInstant(Instant.ofEpochMilli(604800000),ZoneOffset.UTC)
     .format(DATE_TIME_FORMATTER));

有关为什么会发生这种情况的任何建议?

谢谢

解决方法

模式YYYY-MM-DD’T’hh:mm’Z’错了:

> YYYY – 以周为基础的年份错误:使用uuuu年份
> MM – 一年中的月份
> DD – 每年错误:使用dd日期
> hh – 上午时钟小时(1-12)没有上午/下午你可能想要HH小时(0-23)
>毫米 – 分钟

这很奇怪,因为你甚至引用了一个具有正确模式字符的链接.当然除非你认为大小写与小写无关,但如果是这样,你认为MM(月份)与mm(分钟)的工作情况如何?

您可能想要实际阅读documentation.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读