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

String 类的静态 format() 方法用于创建 格式化 字符串 。format() 方法有两种重载形式: (1)format(String format, Object.....args) 该方法使用指定的格式 字符串 和参数返回一个 格式化 字符串 格式化 后的新 字符串 使用本地默认的 语言 环境。语法为: str.format(String format, Object......args); format:格式 字符串 args:格式 字符串 中由格式说明符引用的参数。如果还有格式说明符以外的参
import java .text.DateFormat; import java .text.ParseException; import java .text.SimpleDateFormat; import java .util.Date; import java .util.Locale; public class TimeFormat { public static void main(Stri
全部代码出自电子工业出版社夏先波的《 Java JDK 实例宝典》一书,本书以J2SE 5.0为 开发 环境,选取 Java 应用的典型实例,循序渐进地介绍了 Java 语言 的各种 开发 方法和技巧,实例代码注释详细规范,思路清晰。 第1章 ...
Java 8之前,我们使用SimpleDateFormat和DateFormat类来表示一种格式,这存在很多 问题 ,例如它们笨重,易变且不是线程安全的,这意味着无法共享它们,并且每次都需要要将String转换为Date,必须创建一个新的DateFormat对象。 尽管将SimpleDateFormat封装到线程局部变量中确实可以缓解,但这还不够。 JDK 8在新的 DateTime Formatter 类中解决了该 问题 ,该类可用于定义 日期 时间 格式,例如“ yyyy-MM-dd HH:mm:SS”,用于指定