parse date using format
This commit is contained in:
@@ -56,7 +56,9 @@ module Submitters
|
|||||||
(value.to_f % 1).zero? ? value.to_i : value.to_f
|
(value.to_f % 1).zero? ? value.to_i : value.to_f
|
||||||
elsif field['type'] == 'date' && value.present? && value != '{{date}}'
|
elsif field['type'] == 'date' && value.present? && value != '{{date}}'
|
||||||
if value.is_a?(Integer)
|
if value.is_a?(Integer)
|
||||||
Time.zone.at(value.to_s.first(10).to_i).to_date
|
Time.zone.at(value.to_s.first(10).to_i).to_date.to_s
|
||||||
|
elsif value.gsub(/\w/, '0') == field.dig('preferences', 'format').to_s.gsub(/\w/, '0')
|
||||||
|
TimeUtils.parse_date_string(value, field.dig('preferences', 'format')).to_s
|
||||||
else
|
else
|
||||||
Date.parse(value).to_s
|
Date.parse(value).to_s
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -32,6 +32,14 @@ module TimeUtils
|
|||||||
tz_info.abbreviation(time)
|
tz_info.abbreviation(time)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def parse_date_string(string, pattern)
|
||||||
|
pattern = pattern.sub(/Y+/, YEAR_FORMATS)
|
||||||
|
.sub(/M+/, MONTH_FORMATS)
|
||||||
|
.sub(/D+/, DAY_FORMATS)
|
||||||
|
|
||||||
|
Date.strptime(string, pattern)
|
||||||
|
end
|
||||||
|
|
||||||
def format_date_string(string, format, locale)
|
def format_date_string(string, format, locale)
|
||||||
date = Date.parse(string.to_s)
|
date = Date.parse(string.to_s)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user