在JAVA中将GMT时间转换成整数

问题描述 投票:0回答:2

我有一个时间(20220726T050000.000 GMT),我想用 Java 将其转换为整数。

我想比较两个时间:哪个比其他时间大

java java-time
2个回答
0
投票

比较字符串

你问:

比其他的大

如评论中所述,您可以作为文本进行比较。无需解析为数字或日期时间对象。

按字母顺序比较时,结果也是按时间顺序排列的。

"20220726T050000.000 GMT".compareTo( someOther )

这假设你的字符串都以

 GMT
结尾,并且假设格式是年-月-日和时-分-秒。


提示:我建议您让数据发布者了解遵守 ISO 8601 日期时间格式标准的好处。


0
投票

如评论中所述,您有多种选择来比较日期时间。这里有一些使用

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

© www.soinside.com 2019 - 2024. All rights reserved.