В следующих примерах мне удалось проанализировать временные метки в формате yyMMddHHmmss (+ -) HHss (дата плюс или минус некоторый временной сдвиг).
Итак, когда я даю две одинаковые временные метки и другой сдвигрезультат должен быть другим.
Например, возьмем дату и время: 190219010000 (19 февраля 2019, 01:00 [AM]), мы можем добавить 2 часа (время будет 03:00)или вычтите 2 часа (время будет 23:00, а дата - 18 февраля) - то есть проанализированный объект должен иметь разницу в 4 часа.
В следующем примере выполнения сдвиг по времени равенигнорируются.Я могу написать любое число, и вывод всегда будет «19 февраля 2019, 01:00».
//Input timestamps: "190219010000+0200" "190219010000-0200"
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class HelloWorld
{
public static void main(String[] args)
{ //parsing "19th of February 2019, 01:00 [AM]" +- 2hours
LocalDateTime ldt1 = LocalDateTime.parse("190219010000+0200", DateTimeFormatter.ofPattern("yyMMddHHmmssx"));
LocalDateTime ldt2 = LocalDateTime.parse("190219010000-0200", DateTimeFormatter.ofPattern("yyMMddHHmmssx"));
System.out.println("190219010000+0200: " +ldt1);
System.out.println("190219010000-0200: "+ ldt2);
}
}
РЕАЛЬНЫЙ вывод: в обоих случаях вывод одинаков, но ввод был другим: /
190219010000+0200: 2019-02-19T01:00
190219010000-0200: 2019-02-19T01:00
Ожидаемый результат:
190219010000+0200: 2019-02-19T03:00
190219010000-0200: 2019-02-18T23:00
Может быть, я должен использовать что-то другое вместо х в шаблоне?Или LocalDateTimeFormatter (который не существует) вместо DateTimeFormatter?
Спасибо