在Java中将数值转换为日期
我正在尝试将中的数字字符串值转换为日期 我的代码是在Java中将数值转换为日期,java,date,Java,Date,我正在尝试将中的数字字符串值转换为日期 我的代码是 String input = "1537011000"; Date d = new SimpleDateFormat("ddMMMM").parse(input); String output = new SimpleDateFormat("MMMM dd, yyyy").format(d); System.out.println("output = " + output); **但我不能改变信仰。我得到一个异常: 无法解析的日期:“153
String input = "1537011000";
Date d = new SimpleDateFormat("ddMMMM").parse(input);
String output = new SimpleDateFormat("MMMM dd, yyyy").format(d);
System.out.println("output = " + output);
**但我不能改变信仰。我得到一个异常:
无法解析的日期:“1537011000”
预期结果是9月15日您的值中似乎有纪元秒,因此您可以使用
新日期(长)
使用该值的长表示乘以1000:
Date d = new Date(Long.parseLong(input) * 1000);
这将
d
设置为9月15日您的值中似乎有纪元秒,因此您可以使用该值乘以1000的长表示形式使用新日期(长)
:
Date d = new Date(Long.parseLong(input) * 1000);
将d
设置为9月15日SimpleDateFormat(“ddMMMM”)。parse(input)
解析字符串input
,该字符串应包含以给定格式格式化的日期,在您的示例中为“ddMMMM”。因此,它期望的是“9月18日”(其中18是一年),而不是大纪元。您必须将历元时间转换为数据,然后以所需格式打印。SimpleDateFormat(“ddMMMM”)。解析(输入)
解析字符串input
,该字符串应包含以给定格式格式化的日期,在您的示例中为“ddMMMM”。因此,它期望的是“9月18日”(其中18是一年),而不是大纪元。您必须将历元时间转换为数据,然后以所需格式打印。它是秒数,日期使用毫秒。新的日期时间类(LocalDateTime)应该是首选方式
LocalDateTime t = LocalDateTime.ofEpochSecond(1537011000L, 0, ZoneOffset.UTC);
Date d = new Date(1537011000L*1000);
System.out.println(t);
System.out.println(d);
2018-09-15T11:30
Sat Sep 15 13:30:00 CEST 2018
它是秒数,Date使用ms。新的日期时间类(LocalDateTime)应该是首选方式
LocalDateTime t = LocalDateTime.ofEpochSecond(1537011000L, 0, ZoneOffset.UTC);
Date d = new Date(1537011000L*1000);
System.out.println(t);
System.out.println(d);
2018-09-15T11:30
Sat Sep 15 13:30:00 CEST 2018
“1537011000”代表什么?从某个起点开始的(毫秒)秒数?从1970年1月1日开始看起来像是几秒钟(而不是几毫秒),我建议您避免使用SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦。今天我们有了这么多更好的,1537011000代表什么?从某个起点开始的(毫秒)秒数?从1970年1月1日开始看起来像是几秒钟(而不是几毫秒),我建议您避免使用SimpleDateFormat
类。它不仅早已过时,而且还出了名的麻烦。今天,我们有了更好、更简单的:Instant.ofEpochSecond(1_537_011_000)
;还保留偏移量信息(如果可能,最好避免过时和设计不良的日期
类)。@OleV.V<代码>瞬间。每秒
也是我的第一个想法;事实上,最干净的,尽管需要更多的概述和对使用许多类的深入了解<代码>日期
被提到的OP so s/ms问题所提及。或者更简单一些:瞬间秒(1秒537秒011秒000)
;还保留偏移量信息(如果可能,最好避免过时和设计不良的日期
类)。@OleV.V<代码>瞬间。每秒
也是我的第一个想法;事实上,最干净的,尽管需要更多的概述和对使用许多类的深入了解<提到的OP so s/ms问题提到了代码>日期
。