@@ -21,7 +21,9 @@ import java.math.{MathContext, RoundingMode}
2121import java .net .URI
2222import java .nio .file .{Files , Path , StandardCopyOption }
2323import java .time .Duration
24- import java .time .format .DateTimeFormatter
24+ import java .time .chrono .IsoChronology
25+ import java .time .format .{DateTimeFormatter , DateTimeFormatterBuilder , ResolverStyle }
26+ import java .time .temporal .ChronoField
2527import java .util .Locale
2628import java .util .concurrent .TimeUnit .NANOSECONDS
2729import java .util .concurrent .locks .LockSupport
@@ -33,7 +35,18 @@ import scala.util.{Failure, Success, Try}
3335object Utils extends Logging {
3436
3537 @ transient lazy val dateFmt : DateTimeFormatter = DateTimeFormatter .ofPattern(" yyyy-MM-dd" )
36- @ transient lazy val dateTimeFmt : DateTimeFormatter = DateTimeFormatter .ofPattern(" yyyy-MM-dd HH:mm:ss" )
38+ @ transient lazy val dateTimeFmt : DateTimeFormatter = new DateTimeFormatterBuilder ()
39+ .parseCaseInsensitive()
40+ .append(DateTimeFormatter .ISO_LOCAL_DATE )
41+ .appendLiteral(' ' )
42+ .appendValue(ChronoField .HOUR_OF_DAY , 2 ).appendLiteral(':' )
43+ .appendValue(ChronoField .MINUTE_OF_HOUR , 2 ).appendLiteral(':' )
44+ .appendValue(ChronoField .SECOND_OF_MINUTE , 2 )
45+ .appendFraction(ChronoField .NANO_OF_SECOND , 0 , 9 , true )
46+ .toFormatter(Locale .US )
47+ .withChronology(IsoChronology .INSTANCE )
48+ .withResolverStyle(ResolverStyle .STRICT )
49+
3750 @ transient lazy val legacyDateFmt : FastDateFormat = FastDateFormat .getInstance(" yyyy-MM-dd" )
3851 @ transient lazy val legacyDateTimeFmt : FastDateFormat = FastDateFormat .getInstance(" yyyy-MM-dd HH:mm:ss" )
3952
0 commit comments