Browse Source

add ISO8601 formatting utility methods

tags/2.0.1
Jonathan Cobb 5 years ago
parent
commit
16e037fa76
1 changed files with 6 additions and 5 deletions
  1. +6
    -5
      src/main/java/org/cobbzilla/util/time/TimeUtil.java

+ 6
- 5
src/main/java/org/cobbzilla/util/time/TimeUtil.java View File

@@ -4,10 +4,7 @@ import org.cobbzilla.util.string.StringUtil;
import org.joda.time.DateTime; import org.joda.time.DateTime;
import org.joda.time.DateTimeZone; import org.joda.time.DateTimeZone;
import org.joda.time.DurationFieldType; import org.joda.time.DurationFieldType;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
import org.joda.time.format.PeriodFormatter;
import org.joda.time.format.PeriodFormatterBuilder;
import org.joda.time.format.*;


import static java.util.concurrent.TimeUnit.*; import static java.util.concurrent.TimeUnit.*;
import static org.apache.commons.lang3.LocaleUtils.toLocale; import static org.apache.commons.lang3.LocaleUtils.toLocale;
@@ -37,6 +34,7 @@ public class TimeUtil {
public static final DateTimeFormatter DATE_FORMAT_HYPHEN_MMDDYYYY = DateTimeFormat.forPattern("MM-dd-yyyy"); public static final DateTimeFormatter DATE_FORMAT_HYPHEN_MMDDYYYY = DateTimeFormat.forPattern("MM-dd-yyyy");
public static final DateTimeFormatter DATE_FORMAT_HYPHEN_MMMDDYYYY = DateTimeFormat.forPattern("MMM-dd-yyyy"); public static final DateTimeFormatter DATE_FORMAT_HYPHEN_MMMDDYYYY = DateTimeFormat.forPattern("MMM-dd-yyyy");
public static final DateTimeFormatter DATE_FORMAT_EEE_DD_MMM_YYYY_HH_MM_SS_ZZZ = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss zzz"); public static final DateTimeFormatter DATE_FORMAT_EEE_DD_MMM_YYYY_HH_MM_SS_ZZZ = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss zzz");
public static final DateTimeFormatter DATE_FORMAT_ISO_8601 = ISODateTimeFormat.dateTimeParser();
public static final DateTimeFormatter DATE_FORMAT_IF_MODIFIED_SINCE = DATE_FORMAT_EEE_DD_MMM_YYYY_HH_MM_SS_ZZZ; public static final DateTimeFormatter DATE_FORMAT_IF_MODIFIED_SINCE = DATE_FORMAT_EEE_DD_MMM_YYYY_HH_MM_SS_ZZZ;
public static final DateTimeFormatter DATE_FORMAT_LAST_MODIFIED = DATE_FORMAT_IF_MODIFIED_SINCE; public static final DateTimeFormatter DATE_FORMAT_LAST_MODIFIED = DATE_FORMAT_IF_MODIFIED_SINCE;


@@ -66,7 +64,7 @@ public class TimeUtil {
return empty(time) ? null : formatter.withLocale(toLocale(locale)).parseDateTime(time).getMillis(); return empty(time) ? null : formatter.withLocale(toLocale(locale)).parseDateTime(time).getMillis();
} }


public static Object parse(String val) {
public static Long parse(String val) {
for (DateTimeFormatter f : DATE_TIME_FORMATS) { for (DateTimeFormatter f : DATE_TIME_FORMATS) {
try { try {
return TimeUtil.parse(val, f); return TimeUtil.parse(val, f);
@@ -77,6 +75,9 @@ public class TimeUtil {
return null; return null;
} }


public static Long parseISO8601(String val) { return DATE_FORMAT_ISO_8601.parseMillis(val); }
public static String formatISO8601(long val) { return DATE_FORMAT_ISO_8601.print(val); }

public static Long parseWithLocale(String val, String locale) { public static Long parseWithLocale(String val, String locale) {
for (DateTimeFormatter f : DATE_TIME_FORMATS) { for (DateTimeFormatter f : DATE_TIME_FORMATS) {
try { try {


Loading…
Cancel
Save