ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::NormalClass[iI" Time:ET@I" Object;To:RDoc::Markup::Document: @parts[ o;;[: @fileI""ext/json/lib/json/add/time.rb;T:0@omit_headings_from_table_of_contents_below0o;;[; I"lib/time.rb;T; 0o;;[; I" time.c;T; 0o;;[o:RDoc::Markup::Paragraph;[I"0A +Time+ object represents a date and time:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I"BTime.new(2000, 1, 1, 0, 0, 0) # => 2000-01-01 00:00:00 -0600 ;T: @format0o; ;[I"=Although its value can be expressed as a single numeric ;TI"?(see {Epoch Seconds}[rdoc-ref:Time@Epoch+Seconds] below), ;TI":it can be convenient to deal with the value by parts:;T@o; ;[I"*t = Time.new(-2000, 1, 1, 0, 0, 0.0) ;TI"%# => -2000-01-01 00:00:00 -0600 ;TI"t.year # => -2000 ;TI"t.month # => 1 ;TI"t.mday # => 1 ;TI"t.hour # => 0 ;TI"t.min # => 0 ;TI"t.sec # => 0 ;TI"t.subsec # => 0 ;TI" ;TI".t = Time.new(2000, 12, 31, 23, 59, 59.5) ;TI"&# => 2000-12-31 23:59:59.5 -0600 ;TI"t.year # => 2000 ;TI"t.month # => 12 ;TI"t.mday # => 31 ;TI"t.hour # => 23 ;TI"t.min # => 59 ;TI"t.sec # => 59 ;TI"t.subsec # => (1/2) ;T;0S:RDoc::Markup::Heading: leveli: textI"Epoch Seconds;T@o; ;[I"9Epoch seconds is the exact number of seconds ;TI"M(including fractional subseconds) since the Unix Epoch, January 1, 1970.;T@o; ;[I"@You can retrieve that value exactly using method Time.to_r:;T@o; ;[I"'Time.at(0).to_r # => (0/1) ;TI"ETime.at(0.999999).to_r # => (9007190247541737/9007199254740992) ;T;0o; ;[I"=Other retrieval methods such as Time#to_i and Time#to_f ;TI"struct tm. ;TI"IIf that limit is exceeded, Ruby extrapolates the localtime function.;T@o; ;[I"8The Time class always uses the Gregorian calendar. ;TI"4I.e. the proleptic Gregorian calendar is used. ;TI"AOther calendars, such as Julian calendar, are not supported.;T@o; ;[I"U+time_t+ can represent 1901-12-14 to 2038-01-19 if it is 32 bit signed integer, ;TI"O-292277022657-01-27 to 292277026596-12-05 if it is 64 bit signed integer. ;TI"\However +localtime+ on some platforms doesn't supports negative +time_t+ (before 1970).;T@o; ;[ I"Astruct tm has _tm_year_ member to represent years. ;TI"1(tm_year = 0 means the year 1900.) ;TI"/It is defined as +int+ in the C standard. ;TI"R_tm_year_ can represent between -2147481748 to 2147485547 if +int+ is 32 bit.;T@o; ;[ I"LRuby supports leap seconds as far as if the C function +localtime+ and ;TI"+gmtime+ supports it. ;TI"4They use the tz database in most Unix systems. ;TI"@The tz database has timezones which supports leap seconds. ;TI"@For example, "Asia/Tokyo" doesn't support leap seconds but ;TI"/"right/Asia/Tokyo" supports leap seconds. ;TI"FSo, Ruby supports leap seconds if the TZ environment variable is ;TI"4set to "right/Asia/Tokyo" in most Unix systems.;T@S;;i;I" Examples;T@o; ;[I"KAll of these examples were done using the EST timezone which is GMT-5.;T@S;;i;I"#Creating a New +Time+ Instance;T@o; ;[ I"LYou can create a new instance of Time with Time.new. This will use the ;TI"Fcurrent system time. Time.now is an alias for this. You can also ;TI"Opass parts of the time to Time.new such as year, month, minute, etc. When ;TI"Qyou want to construct a time this way you must pass at least a year. If you ;TI"Qpass the year with nothing else time will default to January 1 of that year ;TI"Jat 00:00:00 with the current system timezone. Here are some examples:;T@o; ;[I":Time.new(2002) #=> 2002-01-01 00:00:00 -0500 ;TI":Time.new(2002, 10) #=> 2002-10-01 00:00:00 -0500 ;TI":Time.new(2002, 10, 31) #=> 2002-10-31 00:00:00 -0500 ;T;0o; ;[I"You can pass a UTC offset:;T@o; ;[I"MTime.new(2002, 10, 31, 2, 2, 2, "+02:00") #=> 2002-10-31 02:02:02 +0200 ;T;0o; ;[I" 2002-10-31 02:02:02 +0200 ;T;0o; ;[I"7You can also use Time.local and Time.utc to infer ;TI"Alocal and UTC timezones instead of using the current system ;TI" setting.;T@o; ;[I"LYou can also create a new time using Time.at which takes the number of ;TI".seconds (with subsecond) since the {Unix ;TI"5Epoch}[https://en.wikipedia.org/wiki/Unix_time].;T@o; ;[I"6Time.at(628232400) #=> 1989-11-28 00:00:00 -0500 ;T;0S;;i;I"'Working with an Instance of +Time+;T@o; ;[I"NOnce you have an instance of Time there is a multitude of things you can ;TI"Pdo with it. Below are some examples. For all of the following examples, we ;TI"Bwill work on the assumption that you have done the following:;T@o; ;[I"4t = Time.new(1993, 02, 24, 12, 0, 0, "+09:00") ;T;0o; ;[I"Was that a monday?;T@o; ;[I"t.monday? #=> false ;T;0o; ;[I"What year was that again?;T@o; ;[I"t.year #=> 1993 ;T;0o; ;[I")Was it daylight savings at the time?;T@o; ;[I"t.dst? #=> false ;T;0o; ;[I"!What's the day a year later?;T@o; ;[I"6t + (60*60*24*365) #=> 1994-02-24 12:00:00 +0900 ;T;0o; ;[I"4How many seconds was that since the Unix Epoch?;T@o; ;[I"t.to_i #=> 730522800 ;T;0o; ;[I"?You can also do standard functions like compare two times.;T@o; ;[I"t1 = Time.new(2010) ;TI"t2 = Time.new(2011) ;TI" ;TI"t1 == t2 #=> false ;TI"t1 == t1 #=> true ;TI"t1 < t2 #=> true ;TI"t1 > t2 #=> false ;TI" ;TI"4Time.new(2010,10,31).between?(t1, t2) #=> true ;T;0S;;i;I"What's Here;T@o; ;[I",First, what's elsewhere. \Class +Time+:;T@o:RDoc::Markup::List: @type: BULLET: @items[o:RDoc::Markup::ListItem: @label0;[o; ;[I"AInherits from {class Object}[rdoc-ref:Object@What-27s+Here].;To;;0;[o; ;[I"EIncludes {module Comparable}[rdoc-ref:Comparable@What-27s+Here].;T@o; ;[I"=Here, class +Time+ provides methods that are useful for:;T@o;;;;[ o;;0;[o; ;[I"A{Creating Time objects}[rdoc-ref:Time@Methods+for+Creating].;To;;0;[o; ;[I"@{Fetching Time values}[rdoc-ref:Time@Methods+for+Fetching].;To;;0;[o; ;[I"B{Querying a Time object}[rdoc-ref:Time@Methods+for+Querying].;To;;0;[o; ;[I"C{Comparing Time objects}[rdoc-ref:Time@Methods+for+Comparing].;To;;0;[o; ;[I"F{Converting a Time object}[rdoc-ref:Time@Methods+for+Converting].;To;;0;[o; ;[I";{Rounding a Time}[rdoc-ref:Time@Methods+for+Rounding].;T@S;;i;I"Methods for Creating;T@o;;;;[ o;;0;[o; ;[I"M::new: Returns a new time from specified arguments (year, month, etc.), ;TI"*including an optional timezone value.;To;;0;[o; ;[I">::local (aliased as ::mktime): Same as ::new, except the ;TI"$timezone is the local timezone.;To;;0;[o; ;[I"H::utc (aliased as ::gm): Same as ::new, except the timezone is UTC.;To;;0;[o; ;[I";::at: Returns a new time based on seconds since epoch.;To;;0;[o; ;[I"@::now: Returns a new time based on the current system time.;To;;0;[o; ;[I"L#+ (plus): Returns a new time increased by the given number of seconds.;To;;0;[o; ;[I"M#- (minus): Returns a new time decreased by the given number of seconds.;T@S;;i;I"Methods for Fetching;T@o;;;;[o;;0;[o; ;[I")#year: Returns the year of the time.;To;;0;[o; ;[I"=#month (aliased as #mon): Returns the month of the time.;To;;0;[o; ;[I";#mday (aliased as #day): Returns the day of the month.;To;;0;[o; ;[I"1#hour: Returns the hours value for the time.;To;;0;[o; ;[I"2#min: Returns the minutes value for the time.;To;;0;[o; ;[I"2#sec: Returns the seconds value for the time.;To;;0;[o; ;[I"E#usec (aliased as #tv_usec): Returns the number of microseconds ;TI")in the subseconds value of the time.;To;;0;[o; ;[I"C#nsec (aliased as #tv_nsec: Returns the number of nanoseconds ;TI"'in the subsecond part of the time.;To;;0;[o; ;[I"8#subsec: Returns the subseconds value for the time.;To;;0;[o; ;[I"H#wday: Returns the integer weekday value of the time (0 == Sunday).;To;;0;[o; ;[I"K#yday: Returns the integer yearday value of the time (1 == January 1).;To;;0;[o; ;[I"8#hash: Returns the integer hash value for the time.;To;;0;[o; ;[I"J#utc_offset (aliased as #gmt_offset and #gmtoff): Returns the offset ;TI"%in seconds between time and UTC.;To;;0;[o; ;[I"I#to_f: Returns the float number of seconds since epoch for the time.;To;;0;[o; ;[I"S#to_i (aliased as #tv_sec): Returns the integer number of seconds since epoch ;TI"for the time.;To;;0;[o; ;[I"L#to_r: Returns the Rational number of seconds since epoch for the time.;To;;0;[o; ;[I"H#zone: Returns a string representation of the timezone of the time.;T@S;;i;I"Methods for Querying;T@o;;;;[o;;0;[o; ;[I"?#utc? (aliased as #gmt?): Returns whether the time is UTC.;To;;0;[o; ;[I"W#dst? (aliased as #isdst): Returns whether the time is DST (daylight saving time).;To;;0;[o; ;[I"4#sunday?: Returns whether the time is a Sunday.;To;;0;[o; ;[I"4#monday?: Returns whether the time is a Monday.;To;;0;[o; ;[I"6#tuesday?: Returns whether the time is a Tuesday.;To;;0;[o; ;[I":#wednesday?: Returns whether the time is a Wednesday.;To;;0;[o; ;[I"8#thursday?: Returns whether the time is a Thursday.;To;;0;[o; ;[I"0#friday?: Returns whether time is a Friday.;To;;0;[o; ;[I"8#saturday?: Returns whether the time is a Saturday.;T@S;;i;I"Methods for Comparing;T@o;;;;[o;;0;[o; ;[I"+#<=>: Compares +self+ to another time.;To;;0;[o; ;[I">#eql?: Returns whether the time is equal to another time.;T@S;;i;I"Methods for Converting;T@o;;;;[o;;0;[o; ;[I"@#asctime (aliased as #ctime): Returns the time as a string.;To;;0;[o; ;[I"6#inspect: Returns the time in detail as a string.;To;;0;[o; ;[I"J#strftime: Returns the time as a string, according to a given format.;To;;0;[o; ;[I"?#to_a: Returns a 10-element array of values from the time.;To;;0;[o; ;[I"8#to_s: Returns a string representation of the time.;To;;0;[o; ;[I"F#getutc (aliased as #getgm): Returns a new time converted to UTC.;To;;0;[o; ;[I";#getlocal: Returns a new time converted to local time.;To;;0;[o; ;[I">#utc (aliased as #gmtime): Converts time to UTC in place.;To;;0;[o; ;[I"6#localtime: Converts time to local time in place.;To;;0;[o; ;[I"S#deconstruct_keys: Returns a hash of time components used in pattern-matching.;T@S;;i;I"Methods for Rounding;T@o;;;;[o;;0;[o; ;[I"7#round:Returns a new time with subseconds rounded.;To;;0;[o; ;[I"C#ceil: Returns a new time with subseconds raised to a ceiling.;To;;0;[o; ;[I"C#floor: Returns a new time with subseconds lowered to a floor.;T@o; ;[I"+For the forms of argument +zone+, see ;TI">{Timezone Specifiers}[rdoc-ref:Time@Timezone+Specifiers].;T@S;;i;I"Timezone Specifiers;T@o; ;[I"DCertain +Time+ methods accept arguments that specify timezones:;T@o;;;;[ o;;0;[o; ;[I"%Time.at: keyword argument +in:+.;To;;0;[o; ;[I"DTime.new: positional argument +zone+ or keyword argument +in:+.;To;;0;[o; ;[I"&Time.now: keyword argument +in:+.;To;;0;[o; ;[I"/Time#getlocal: positional argument +zone+.;To;;0;[o; ;[I"0Time#localtime: positional argument +zone+.;T@o; ;[I"DThe value given with any of these must be one of the following ;TI"(each detailed below):;T@o;;;;[ o;;0;[o; ;[I"C{Hours/minutes offset}[rdoc-ref:Time@Hours-2FMinutes+Offsets].;To;;0;[o; ;[I"A{Single-letter offset}[rdoc-ref:Time@Single-Letter+Offsets].;To;;0;[o; ;[I"5{Integer offset}[rdoc-ref:Time@Integer+Offsets].;To;;0;[o; ;[I"7{Timezone object}[rdoc-ref:Time@Timezone+Objects].;To;;0;[o; ;[I"3{Timezone name}[rdoc-ref:Time@Timezone+Names].;T@S;;i;I"Hours/Minutes Offsets;T@o; ;[I"4The zone value may be a string offset from UTC ;TI"9in the form '+HH:MM' or '-HH:MM', ;TI" where:;T@o;;;;[o;;0;[o; ;[I":+HH+ is the 2-digit hour in the range 0..23.;To;;0;[o; ;[I"<+MM+ is the 2-digit minute in the range 0..59.;T@o; ;[I"Examples:;T@o; ;[I"Ft = Time.utc(2000, 1, 1, 20, 15, 1) # => 2000-01-01 20:15:01 UTC ;TI"HTime.at(t, in: '-23:59') # => 1999-12-31 20:16:01 -2359 ;TI"HTime.at(t, in: '+23:59') # => 2000-01-02 20:14:01 +2359 ;T;0S;;i;I"Single-Letter Offsets;T@o; ;[I"DThe zone value may be a letter in the range 'A'..'I' ;TI"or 'K'..'Z'; ;TI"bsee {List of military time zones}[https://en.wikipedia.org/wiki/List_of_military_time_zones]:;T@o; ;[ I"Ft = Time.utc(2000, 1, 1, 20, 15, 1) # => 2000-01-01 20:15:01 UTC ;TI"HTime.at(t, in: 'A') # => 2000-01-01 21:15:01 +0100 ;TI"HTime.at(t, in: 'I') # => 2000-01-02 05:15:01 +0900 ;TI"HTime.at(t, in: 'K') # => 2000-01-02 06:15:01 +1000 ;TI"HTime.at(t, in: 'Y') # => 2000-01-01 08:15:01 -1200 ;TI"FTime.at(t, in: 'Z') # => 2000-01-01 20:15:01 UTC ;T;0S;;i;I"\Integer Offsets;T@o; ;[I"8The zone value may be an integer number of seconds ;TI")in the range -86399..86399:;T@o; ;[I"Ft = Time.utc(2000, 1, 1, 20, 15, 1) # => 2000-01-01 20:15:01 UTC ;TI"JTime.at(t, in: -86399) # => 1999-12-31 20:15:02 -235959 ;TI"JTime.at(t, in: 86399) # => 2000-01-02 20:15:00 +235959 ;T;0S;;i;I"Timezone Objects;T@o; ;[I"PThe zone value may be an object responding to certain timezone methods, an ;TI"Iinstance of {Timezone}[https://github.com/panthomakos/timezone] and ;TI"4{TZInfo}[https://tzinfo.github.io] for example.;T@o; ;[I"The timezone methods are:;T@o;;;;[o;;0;[ o; ;[I"+local_to_utc+:;T@o; ;[I"JCalled when Time.new is invoked with +tz+ as the value of positional ;TI"/argument +zone+ or keyword argument +in:+.;T@o;;: NOTE;[o;;[I" Argument;T;[o; ;[I";a {Time-like object}[rdoc-ref:Time@Time-Like+Objects].;To;;[I" Returns;T;[o; ;[I"Oa {Time-like object}[rdoc-ref:Time@Time-Like+Objects] in the UTC timezone.;T@o;;0;[ o; ;[I"+utc_to_local+:;T@o; ;[I"KCalled when Time.at or Time.now is invoked with +tz+ as the value for ;TI"Pkeyword argument +in:+, and when Time#getlocal or Time#localtime is called ;TI";with +tz+ as the value for positional argument +zone+.;T@o; ;[I"EThe UTC offset will be calculated as the difference between the ;TI"A custom timezone class may have these instance methods, ;TI"%which will be called if defined:;T@o;;;;[o;;0;[ o; ;[I" +abbr+:;T@o; ;[I"NCalled when Time#strftime is invoked with a format involving %Z.;T@o;;;;[o;;[I" Argument;T;[o; ;[I";a {Time-like object}[rdoc-ref:Time@Time-Like+Objects].;To;;[I" Returns;T;[o; ;[I"1a string abbreviation for the timezone name.;T@o;;0;[ o; ;[I" +dst?+:;T@o; ;[I"KCalled when Time.at or Time.now is invoked with +tz+ as the value for ;TI"Ikeyword argument +in:+, and when Time#getlocal or Time#localtime is ;TI"Bcalled with +tz+ as the value for positional argument +zone+.;T@o;;;;[o;;[I" Argument;T;[o; ;[I";a {Time-like object}[rdoc-ref:Time@Time-Like+Objects].;To;;[I" Returns;T;[o; ;[I".whether the time is daylight saving time.;T@o;;0;[ o; ;[I" +name+:;T@o; ;[I"4Called when Marshal.dump(t) is invoked;T@o;;;;[o;;[I" Argument;T;[o; ;[I" none.;To;;[I" Returns;T;[o; ;[I"%the string name of the timezone.;T@S;;i ;I"+Time+-Like Objects;T@o; ;[I"LA +Time+-like object is a container object capable of interfacing with ;TI"0timezone libraries for timezone conversion.;T@o; ;[I"PThe argument to the timezone conversion methods above will have attributes ;TI"Nsimilar to Time, except that timezone related attributes are meaningless.;T@o; ;[I"NThe objects returned by +local_to_utc+ and +utc_to_local+ methods of the ;TI"Otimezone object may be of the same class as their arguments, of arbitrary ;TI")object classes, or of class Integer.;T@o; ;[I"HFor a returned class other than +Integer+, the class must have the ;TI"following methods:;T@o;;;;[ o;;0;[o; ;[I" +year+;To;;0;[o; ;[I" +mon+;To;;0;[o; ;[I" +mday+;To;;0;[o; ;[I" +hour+;To;;0;[o; ;[I" +min+;To;;0;[o; ;[I" +sec+;To;;0;[o; ;[I" +isdst+;To;;0;[o; ;[I" +to_i+;T@o; ;[I"FFor a returned +Integer+, its components, decomposed in UTC, are ;TI"4interpreted as times in the specified timezone.;T@S;;i;I"Timezone Names;T@o; ;[I"OIf the class (the receiver of class methods, or the class of the receiver ;TI"Oof instance methods) has +find_timezone+ singleton method, this method is ;TI"Ncalled to achieve the corresponding timezone object from a timezone name.;T@o; ;[I"LFor example, using {Timezone}[https://github.com/panthomakos/timezone]:;To; ;[ I"#class TimeWithTimezone < Time ;TI" require 'timezone' ;TI"/ def self.find_timezone(z) = Timezone[z] ;TI" end ;TI" ;TI"WTimeWithTimezone.now(in: "America/New_York") #=> 2023-12-25 00:00:00 -0500 ;TI"WTimeWithTimezone.new("2023-12-25 America/New_York") #=> 2023-12-25 00:00:00 -0500 ;T;0o; ;[I"2Or, using {TZInfo}[https://tzinfo.github.io]:;To; ;[ I"!class TimeWithTZInfo < Time ;TI" require 'tzinfo' ;TI"; def self.find_timezone(z) = TZInfo::Timezone.get(z) ;TI" end ;TI" ;TI"WTimeWithTZInfo.now(in: "America/New_York") #=> 2023-12-25 00:00:00 -0500 ;TI"WTimeWithTZInfo.new("2023-12-25 America/New_York") #=> 2023-12-25 00:00:00 -0500 ;T;0o; ;[I"NYou can define this method per subclasses, or on the toplevel Time class.;T; I" timev.rb;T; 0; 0; 0[[[[I"Comparable;To;;[; @; 0I" time.c;T[[I" class;T[[: public[[I"at;TI" timev.rb;T[I"gm;T@[I" httpdate;TI"lib/time.rb;T[I" iso8601;T@[I"json_create;TI""ext/json/lib/json/add/time.rb;T[I" local;T@[I" mktime;T@[I"new;T@[I"now;T@[I" parse;T@[I" rfc2822;T@[I" rfc822;T@[I" strptime;T@[I"utc;T@[I"xmlschema;T@[I"zone_offset;T@[:protected[[: private[[I" instance;T[[;[F[I"+;T@[I"-;T@[I"<=>;T@[I" as_json;T@[I" asctime;T@[I" ceil;T@[I" ctime;T@[I"day;T@[I"deconstruct_keys;T@[I" dst?;T@[I" eql?;T@[I" floor;T@[I" friday?;T@[I" getgm;T@[I" getlocal;T@[I" getutc;T@[I" gmt?;T@[I"gmt_offset;T@[I" gmtime;T@[I" gmtoff;T@[I" hash;T@[I" hour;T@[I" httpdate;T@[I" inspect;T@[I" isdst;T@[I" iso8601;T@[I"localtime;T@[I" mday;T@[I"min;T@[I"mon;T@[I" monday?;T@[I" month;T@[I" nsec;T@[I" rfc2822;T@[I" rfc822;T@[I" round;T@[I"saturday?;T@[I"sec;T@[I" strftime;T@[I" subsec;T@[I" sunday?;T@[I"thursday?;T@[I" to_a;T@[I" to_date;TI"ext/date/date_core.c;T[I"to_datetime;T@ [I" to_f;T@[I" to_i;T@[I" to_json;T@[I" to_r;T@[I" to_s;T@[I" to_time;T@ [I" tuesday?;T@[I" tv_nsec;T@[I" tv_sec;T@[I" tv_usec;T@[I" usec;T@[I"utc;T@[I" utc?;T@[I"utc_offset;T@[I" wday;T@[I"wednesday?;T@[I"xmlschema;T@[I" yday;T@[I" year;T@[I" zone;T@[;[[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[ I"ext/date/date_core.c;T@ I"lib/cgi/session.rb;T@@@@cRDoc::TopLevel