У меня есть вопрос о классе SimpleDateFormat и методе CompareTo в java.util.Date в:Java SimpleDateFormat и CompareTo
Я создание объекта Date, то я формат, в конце концов я разобрать отформатированную строку и сравнить до первоначальной даты.
DateFormat df = new SimpleDateFormat("yyyy.MMMdd hh:mm:ss SSS");
Date originalDate = new Date();
String s = df.format(originalDate);
Date parsedDate = df.parse(s);
System.out.println("Original date: " + originalDate);
System.out.println("Formatted date: " + s);
System.out.println("originalDate compareTo parsedDate: " + originalDate.compareTo(parsedDate));
Результат:
Исходная дата: пн 25 января 15:43:23 CET 2010 отформатированный дата: 2010.jan.25 3:43:23 868 originalDate CompareTo parsedDate: 1
Почему я получаю всегда «1»? Почему исходная дата больше, чем синтаксическая дата?
Или использовать a, спецификатор AM/PM, –
Я только что попробовал код, он работает с ** HH **, так что это была проблема. Конечно, как было предложено, если вам это нужно в 12-часовом формате, вы можете использовать спецификатор AM/PM вместо ** HH ** – Jack
Да, вы правы! Большое спасибо! – Bob