Sha256: 2cc0c09bcef07b94742e7f42c3e594460f4cb4476fae74a13a515e899898dd5a
Contents?: true
Size: 1.48 KB
Versions: 6
Compression:
Stored size: 1.48 KB
Contents
# encoding: UTF-8 # Copyright 2012 Twitter, Inc # http://www.apache.org/licenses/LICENSE-2.0 module TwitterCldr module Localized class LocalizedDate < LocalizedDateTime def to_datetime(time = Time.now) dt = DateTime.parse("#{@base_obj.strftime("%Y-%m-%d")}T#{unwrap_time_obj(time).strftime("%H:%M:%S%z")}") LocalizedDateTime.new(dt, @locale, chain_params) end def to_time(base = Time.now) case @base_obj when Time LocalizedTime.new(@base_obj, @locale, chain_params) when DateTime utc_dt = @base_obj.new_offset(0) time = Time.gm( utc_dt.year, utc_dt.month, utc_dt.day, utc_dt.hour, utc_dt.min, utc_dt.sec, utc_dt.sec_fraction * 1_000_000 ) LocalizedTime.new(time, @locale, chain_params) else nil end end protected def unwrap_time_obj(time) time.is_a?(LocalizedTime) ? time.base_obj : time end def base_in_timezone time = unwrap_time_obj(to_time) timezone_info.utc_to_local(time.is_a?(DateTime) ? time.new_offset(0) : time.utc) end def data_reader_for(type, options = {}) TwitterCldr::DataReaders::DateDataReader.new( locale, options.merge({ :calendar_type => calendar_type, :type => type }) ) end end end end
Version data entries
6 entries across 6 versions & 2 rubygems