Java jdk 8 带 T的时间字符串的格式化问题

Posted 请叫我大师兄_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java jdk 8 带 T的时间字符串的格式化问题相关的知识,希望对你有一定的参考价值。

比如给的字符串的时间是 "2021-10-01T04:37:34,703",给转成秒或者毫秒。

    /**
     * 8小时的秒数
     */
    private static final int OFFSET = 8 * 60 * 60;
    private static final ZoneId ZONE_ID = ZoneOffset.systemDefault();
    private static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss,SSS");

    @Test
    public void test() 
        String string = "2021-10-01T04:37:34,703";
        LocalDateTime localDateTime = LocalDateTime.parse(string, FORMATTER);
        long s = localDateTime.atZone(ZONE_ID).toEpochSecond();
        long ms = localDateTime.toInstant(ZoneOffset.ofTotalSeconds(OFFSET)).toEpochMilli();
        System.out.println(s);
        System.out.println(ms);
    

实际运行结果:

1633034254
1633034254703

以上是关于Java jdk 8 带 T的时间字符串的格式化问题的主要内容,如果未能解决你的问题,请参考以下文章

Java jdk 8 带 T的时间字符串的格式化问题

jdk(java)8 日期格式化工具-使用枚举处理

js 处理Json 时间带T 时间格式

java开发环境配置

Java 泛型是什么?一文带你吃透泛型

java控制台输出乱码