
com.nedap.archie.datetime.DateTimeFormatters Maven / Gradle / Ivy
package com.nedap.archie.datetime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.temporal.ChronoField;
public class DateTimeFormatters {
public static final DateTimeFormatter ISO_8601_DATE_TIME = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendValue(ChronoField.YEAR)
.appendLiteral('-')
.appendValue(ChronoField.MONTH_OF_YEAR, 2)
.appendLiteral('-')
.appendValue(ChronoField.DAY_OF_MONTH, 2)
.appendLiteral('T')
.appendValue(ChronoField.HOUR_OF_DAY, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.MINUTE_OF_HOUR, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.SECOND_OF_MINUTE, 2)
.optionalStart()
.appendLiteral(',')
.appendFraction(ChronoField.MICRO_OF_SECOND, 1, 6, false)
.optionalEnd()
.optionalEnd()
.optionalEnd()
.optionalStart()
.appendOffset("+HHMM", "Z")
.optionalEnd()
.toFormatter();
public static final DateTimeFormatter ISO_8601_DATE_TIME_WITH_OPTIONAL_MICROS = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendValue(ChronoField.YEAR)
.appendLiteral('-')
.appendValue(ChronoField.MONTH_OF_YEAR)
.appendLiteral('-')
.appendValue(ChronoField.DAY_OF_MONTH)
.appendLiteral('T')
.appendValue(ChronoField.HOUR_OF_DAY, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.MINUTE_OF_HOUR, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.SECOND_OF_MINUTE, 2)
.optionalStart()
.appendLiteral(',')
.appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, false)
.optionalEnd()
.optionalEnd()
.optionalEnd()
.optionalStart()
.appendOffset("+HHmm", "Z")
.optionalEnd()
.toFormatter();
public static final DateTimeFormatter ISO_8601_DATE_TIME_WITHOUT_MICROS = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendValue(ChronoField.YEAR)
.appendLiteral('-')
.appendValue(ChronoField.MONTH_OF_YEAR, 2)
.appendLiteral('-')
.appendValue(ChronoField.DAY_OF_MONTH, 2)
.appendLiteral('T')
.appendValue(ChronoField.HOUR_OF_DAY, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.MINUTE_OF_HOUR, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.SECOND_OF_MINUTE, 2)
.optionalEnd()
.optionalEnd()
.optionalStart()
.appendOffset("+HHMM", "Z")
.optionalEnd()
.toFormatter();
public static final DateTimeFormatter ISO_8601_TIME;
static {
ISO_8601_TIME = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendValue(ChronoField.HOUR_OF_DAY)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.MINUTE_OF_HOUR, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(ChronoField.SECOND_OF_MINUTE, 2)
.optionalStart()
.appendLiteral(',')
.appendFraction(ChronoField.MICRO_OF_SECOND, 0, 6, false)
.optionalEnd()
.optionalEnd()
.optionalEnd()
.optionalStart()
.appendOffset("+HHmm", "Z")
.optionalEnd()
.toFormatter();
}
public static final DateTimeFormatter ISO_8601_DATE;
static {
ISO_8601_DATE = new DateTimeFormatterBuilder()
.parseCaseInsensitive()
.appendValue(ChronoField.YEAR)
.optionalStart()
.appendLiteral('-')
.appendValue(ChronoField.MONTH_OF_YEAR)
.optionalStart()
.appendLiteral('-')
.appendValue(ChronoField.DAY_OF_MONTH)
.optionalEnd()
.optionalEnd()
.toFormatter();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy