【发布时间】:2020-12-09 06:50:54
【问题描述】:
我有一个我从服务收到的字符串是一个日期,这个日期有这种格式 "/Date(1607490140063-0600)/" 是一个字符串,现在我需要在 java 上从一个字符串转换为日期格式,我尝试了不同的方法但没有工作
String endTime = getPunchTime();
SimpleDateFormat timeFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss Z");
Date d2 = timeFormat.parse(endTime);
【问题讨论】:
-
破折号之前的时间是否以毫秒为单位?破折号后面是什么?
-
接收日期为:/Date(1607490140063-0600)/或1607490140063-0600
-
@MustafaPoya is "/Date(1607490140063-0600)/"
-
我建议你不要使用
SimpleDateFormat和Date。这些类设计不佳且早已过时,尤其是前者,尤其是出了名的麻烦。而是使用OffsetDateTime和java.time, the modern Java date and time API 中的其他类。 -
我刚刚更新了my answer to the linked original question,使用了我认为更优雅的新解决方案。请看一看。
标签: java