rdblue commented on code in PR #4871:
URL: https://github.com/apache/iceberg/pull/4871#discussion_r922296511
##########
core/src/main/java/org/apache/iceberg/util/DateTimeUtil.java:
##########
@@ -88,4 +88,43 @@ public static long microsFromTimestamptz(OffsetDateTime
dateTime) {
public static String formatTimestampMillis(long millis) {
return
DATE_FORMAT.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(millis),
ZoneOffset.UTC));
}
+
+ public static String daysToIsoDate(int days) {
+ return dateFromDays(days).format(DateTimeFormatter.ISO_LOCAL_DATE);
+ }
+
+ public static String microsToIsoTime(long micros) {
+ return timeFromMicros(micros).format(DateTimeFormatter.ISO_LOCAL_TIME);
+ }
+
+ public static String microsToIsoDateTimeTz(long micros) {
+ LocalDateTime localDateTime = timestampFromMicros(micros);
+ return
localDateTime.atOffset(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
+ }
+
+ public static String microsToIsoDateTime(long micros) {
+ LocalDateTime localDateTime = timestampFromMicros(micros);
+ return localDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME);
+ }
+
+ public static int isoDateToDays(String dateString) {
+ return daysFromDate(LocalDate.parse(dateString,
DateTimeFormatter.ISO_LOCAL_DATE));
+ }
+
+ public static long isoTimeToMicros(String timeString) {
+ return microsFromTime(LocalTime.parse(timeString,
DateTimeFormatter.ISO_LOCAL_TIME));
+ }
+
+ public static long isoTimestamptzToMicros(String timestampString) {
+ return microsFromTimestamptz(OffsetDateTime.parse(timestampString,
DateTimeFormatter.ISO_DATE_TIME));
+ }
+
+ public static boolean timestamptzIsOfUTCZone(String timestampString) {
+ OffsetDateTime offsetDateTime = OffsetDateTime.parse(timestampString,
DateTimeFormatter.ISO_DATE_TIME);
+ return offsetDateTime.getOffset().equals(ZoneOffset.UTC) &&
timestampString.endsWith("Z");
Review Comment:
As long as `ISO_DATE_TIME` can correctly parse, we shouldn't care about the
underlying string. I think there isn't a need to check `endsWith("Z")`. This
should just check that the `ZoneOffset` is UTC.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]