我有一个时间(20220726T050000.000 GMT),我想用 Java 将其转换为整数。
我想比较两个时间:哪个比其他时间大
你问:
比其他的大
如评论中所述,您可以作为文本进行比较。无需解析为数字或日期时间对象。
按字母顺序比较时,结果也是按时间顺序排列的。
"20220726T050000.000 GMT".compareTo( someOther )
这假设你的字符串都以
GMT
结尾,并且假设格式是年-月-日和时-分-秒。
提示:我建议您让数据发布者了解遵守 ISO 8601 日期时间格式标准的好处。
如评论中所述,您有多种选择来比较日期时间。这里有一些使用
ZonedDateTime
。假设它已经是一个ZonedDateTime
对象你可以直接比较。否则,如果它们的格式与上面所示的相同,则将其作为字符串进行比较。
DateTimeFormatter dtf =DateTimeFormatter.ofPattern("yyyyMMdd'T'HHmmss.SSS z");
ZonedDateTime zdt = ZonedDateTime.parse("20220726T050000.000 GMT",dtf);
创建更晚更早的时间。
ZonedDateTime later = zdt.plusHours(2);
ZonedDateTime earlier = zdt.minusHours(2);
现在比较一些。
System.out.println(zdt.isAfter(earlier));
System.out.println(zdt.isBefore(earlier));
System.out.println(zdt.isBefore(later));
System.out.println(zdt.isAfter(later));
System.out.println(zdt.compareTo(later));
System.out.println(zdt.compareTo(earlier));
版画
true
false
true
false
-1
1