module AfterShip::DateUtils
Simple utility class for parsing dates and datetimes.
Constants
- DATETIME_REGEX
Datetime without zone:
YYYY-MM-DDTHH:MM:SS
- DATETIME_WITH_ZONE_REGEX
Datetime with zone:
YYYY-MM-DDTHH:MM:SSZ
+YYYY-MM-DDTHH:MM:SS+HH:MM+YYYY-MM-DDTHH:MM:SS-HH:MM
- DATE_PLAIN_REGEX
Date:
YYYYMMDD
- DATE_REGEX
Date:
YYYY-MM-DD
Public Instance Methods
parse(value)
click to toggle source
Try to parse a date or datetime from a string.
@param value [String]
Empty String, YYYY-MM-DD, YYYY-MM-DDTHH:MM:SS, YYYY-MM-DDTHH:MM:SSZ, YYYY-MM-DDTHH:MM:SS+HH:MM or YYYY-MM-DDTHH:MM:SS-HH:MM.
# File lib/after_ship/core/date_utils.rb, line 59 def parse(value) case value when '', nil nil when DATE_PLAIN_REGEX, DATE_REGEX Date.parse(value) when DATETIME_REGEX, DATETIME_WITH_ZONE_REGEX DateTime.parse(value) else fail ArgumentError, "Invalid expected_delivery date #{value.inspect}" end end