Class: Date
- Inherits:
-
Object
show all
- Includes:
- DateTimePrecision
- Defined in:
- lib/date_time_precision/lib.rb,
lib/date_time_precision/patch/1.8.7/date.rb,
lib/date_time_precision/patch/1.9.2/date.rb,
lib/date_time_precision/patch/1.9.3/date.rb,
lib/date_time_precision/patch/common/date.rb
Constant Summary
collapse
- MAX_PRECISION =
DateTimePrecision::DAY
DateTimePrecision::CENTURY, DateTimePrecision::DATE_ATTRIBUTES, DateTimePrecision::DATE_ATTRIBUTE_PRECISIONS, DateTimePrecision::DAY, DateTimePrecision::DECADE, DateTimePrecision::HOUR, DateTimePrecision::ISO8601_DATE_FRAGMENTS, DateTimePrecision::ISO8601_TIME_FRAGMENTS, DateTimePrecision::MICROSECONDS_SUPPORTED, DateTimePrecision::MIN, DateTimePrecision::MONTH, DateTimePrecision::NEW_DEFAULTS, DateTimePrecision::NONE, DateTimePrecision::PATCH_VERSION, DateTimePrecision::SEC, DateTimePrecision::USEC, DateTimePrecision::VERSION, DateTimePrecision::YEAR
Class Method Summary
collapse
Instance Method Summary
collapse
#as_json, #century, #decade, #fragments, included, #partial_match?, precision, #precision, #precision=, #to_h, #to_json
Class Method Details
.civil(y = nil, m = nil, d = nil, sg = ITALY) ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/date_time_precision/patch/1.8.7/date.rb', line 21
def civil(y=nil, m=nil, d=nil, sg=Date::ITALY)
args = [y,m,d]
precision = self.precision(args)
args = normalize_new_args(args)
unless jd = valid_civil?(*args)
raise ArgumentError, 'invalid date'
end
date = new!(jd_to_ajd(jd, 0, 0), 0, sg)
date.precision = precision
date.attributes_set(y,m,d)
date
end
|
.civil_orig ⇒ Object
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/date_time_precision/patch/1.9.3/date.rb', line 25
def civil(y=nil, m=nil, d=nil, sg=Date::ITALY)
args = [y,m,d]
precision = self.precision(args)
args = normalize_new_args(args)
unless jd = valid_civil?(*args)
raise ArgumentError, 'invalid date'
end
date = new!(jd_to_ajd(jd, 0, 0), 0, sg)
date.precision = precision
date.attributes_set(y,m,d)
date
end
|
.new(*args) ⇒ Object
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/date_time_precision/patch/1.8.7/date.rb', line 37
def civil(y=nil, m=nil, d=nil, sg=Date::ITALY)
args = [y,m,d]
precision = self.precision(args)
args = normalize_new_args(args)
unless jd = valid_civil?(*args)
raise ArgumentError, 'invalid date'
end
date = new!(jd_to_ajd(jd, 0, 0), 0, sg)
date.precision = precision
date.attributes_set(y,m,d)
date
end
|
.new_orig ⇒ Object
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/date_time_precision/patch/1.9.3/date.rb', line 5
def civil(y=nil, m=nil, d=nil, sg=Date::ITALY)
args = [y,m,d]
precision = self.precision(args)
args = normalize_new_args(args)
unless jd = valid_civil?(*args)
raise ArgumentError, 'invalid date'
end
date = new!(jd_to_ajd(jd, 0, 0), 0, sg)
date.precision = precision
date.attributes_set(y,m,d)
date
end
|
.parse(str = '-4712-01-01T00:00:00+00:00', start = ITALY) ⇒ Object
5
6
7
8
9
10
11
|
# File 'lib/date_time_precision/patch/1.8.7/date.rb', line 5
def parse(str='-4712-01-01T00:00:00+00:00', comp=false, sg=Date::ITALY)
elem = _parse(str, comp)
precision = DateTimePrecision::precision(elem)
d = new_by_frags(elem, sg)
d.precision = precision
d
end
|
.parse_orig ⇒ Object
15
16
17
18
19
20
21
|
# File 'lib/date_time_precision/patch/1.9.3/date.rb', line 15
def parse(str='-4712-01-01T00:00:00+00:00', comp=false, sg=Date::ITALY)
elem = _parse(str, comp)
precision = DateTimePrecision::precision(elem)
d = new_by_frags(elem, sg)
d.precision = precision
d
end
|
.strptime(date, format = '%F', start = ITALY) ⇒ Object
13
14
15
16
17
18
19
|
# File 'lib/date_time_precision/patch/1.8.7/date.rb', line 13
def strptime(str='-4712-01-01', fmt='%F', sg=Date::ITALY)
elem = _strptime(str, fmt)
precision = DateTimePrecision::precision(elem)
d = new_by_frags(elem, sg)
d.precision = precision
d
end
|
.strptime_orig ⇒ Object
38
39
40
41
42
43
44
|
# File 'lib/date_time_precision/patch/1.9.3/date.rb', line 38
def strptime(str='-4712-01-01', fmt='%F', sg=Date::ITALY)
elem = _strptime(str, fmt)
precision = DateTimePrecision::precision(elem)
d = new_by_frags(elem, sg)
d.precision = precision
d
end
|
.utc(*args) ⇒ Object
39
40
41
|
# File 'lib/date_time_precision/patch/1.8.7/date.rb', line 39
def utc(*args)
Time.utc(*args).to_date
end
|
Instance Method Details
#utc? ⇒ Boolean
14
15
16
|
# File 'lib/date_time_precision/lib.rb', line 14
def utc?
offset == 0
end
|
#utc_offset ⇒ Object
20
21
22
|
# File 'lib/date_time_precision/lib.rb', line 20
def utc_offset
offset.numerator*3600
end
|