Class | XSD::XSDDate |
In: |
lib/xsd/datatypes.rb
|
Parent: | XSDAnySimpleType |
Type | = | QName.new(Namespace, DateLiteral) |
# File lib/xsd/datatypes.rb, line 704 704: def initialize(value = nil) 705: init(Type, value) 706: end
# File lib/xsd/datatypes.rb, line 725 725: def _to_s 726: year = (@data.year > 0) ? @data.year : @data.year - 1 727: s = format('%.4d-%02d-%02d', year, @data.mon, @data.mday) 728: add_tz(s) 729: end
# File lib/xsd/datatypes.rb, line 710 710: def screen_data_str(t) 711: /^([+\-]?\d{4,})-(\d\d)-(\d\d)(Z|(?:([+\-])(\d\d):(\d\d))?)?$/ =~ t.to_s.strip 712: unless Regexp.last_match 713: raise ValueSpaceError.new("#{ type }: cannot accept '#{ t }'.") 714: end 715: year = $1.to_i 716: if year < 0 717: year += 1 718: end 719: mon = $2.to_i 720: mday = $3.to_i 721: zonestr = $4 722: DateTime.civil(year, mon, mday, 0, 0, 0, tz2of(zonestr)) 723: end