【发布时间】:2020-02-21 12:29:26
【问题描述】:
这是我的示例代码
String dt = "Oct 24 2019 12:00:00.000 AM UTC";
String dt1="Oct 24 2019 11:59:59.000 PM UTC";
SimpleDateFormat df = new SimpleDateFormat("MMM dd yyyy HH:mm:ss.SSS
aa zzz");
Date date = df.parse(dt);
Date date1 = df.parse(dt1);
long epoch = date.getTime();
long epoch1 = date1.getTime();
System.out.println(epoch);
System.out.println(epoch1);
这里指定了 AM 和 PM,但它没有取值并将异常抛出为
{"error_code":"INVALID_PARAMETER_VALUE","message":"Time range must have a start time earlier than the end time"}
如何在 java 代码中指定 AM/PM。 如何在 java 代码中将昨天的日期和时间作为今天的输入以转换为纪元。
【问题讨论】:
-
我刚刚运行了你的代码 sn-p,一切都对我有用。
-
现在请不要使用
Date和SimpleDateFormat类。它们已被更好的类所取代。查看LocalDateTime和DateTimeFormatter类。 -
仅供参考,存在严重缺陷的日期时间类,例如
java.util.Date、java.util.Calendar和java.text.SimpleDateFormat现在是 legacy,被 Java 8 及更高版本中内置的 java.time 类所取代. -
快速查看documentation会发现
H,大写,用于“小时(0-23)”,而h,小写,用于“上午/下午的小时(1 -12)"
标签: java datetime-format epoch