method
_valid_civil?
Ruby latest stable (v2_5_5)
-
0 notes -
Class: Date
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378 (0)
- 1_9_2_180 (0)
- 1_9_3_125
- 1_9_3_392
- 2_1_10
- 2_2_9
- 2_4_6
- 2_5_5
- 2_6_3
- What's this?
Related methods
- Class methods (100)
- ajd_to_amjd (<= v1_8_7_330)
- ajd_to_jd (<= v1_8_7_330)
- amjd_to_ajd (<= v1_8_7_330)
- civil
- civil_to_jd (<= v1_8_7_330)
- commercial
- commercial_to_jd (<= v1_8_7_330)
- complete_frags (<= v1_9_2_180)
- day_fraction_to_time (<= v1_8_7_330)
- deprecated_alias (<= v1_8_7_330)
- deprecated_class_method_alias (<= v1_8_7_330)
- fix_style (<= v1_8_7_330)
- gregorian? (<= v1_8_7_330)
- gregorian_leap?
- httpdate
- _httpdate
- iso8601
- _iso8601
- jd
- jd_to_ajd (<= v1_8_7_330)
- jd_to_civil (<= v1_8_7_330)
- jd_to_commercial (<= v1_8_7_330)
- jd_to_ld (<= v1_8_7_330)
- jd_to_mjd (<= v1_8_7_330)
- jd_to_ordinal (<= v1_8_7_330)
- jd_to_wday (<= v1_8_7_330)
- jd_to_weeknum (<= v1_8_7_330)
- jisx0301
- _jisx0301
- json_create
- julian? (<= v1_8_7_330)
- julian_leap?
- ld_to_jd (<= v1_8_7_330)
- leap?
- _load
- mjd_to_jd (<= v1_8_7_330)
- new
- new! (>= v1_9_1_378)
- new_by_frags (<= v1_9_2_180)
- now (<= v1_9_2_180)
- nth_kday (>= v1_9_1_378)
- num_pattern? (<= v1_9_2_180)
- once (<= v1_9_2_180)
- ordinal
- ordinal_to_jd (<= v1_8_7_330)
- parse
- _parse
- _parse_beat (<= v1_8_6_287)
- _parse_day (<= v1_9_2_180)
- _parse_ddd (<= v1_9_2_180)
- _parse_dot (<= v1_9_2_180)
- _parse_eu (<= v1_9_2_180)
- _parse_iso (<= v1_9_2_180)
- _parse_iso2 (<= v1_9_2_180)
- _parse_jis (<= v1_9_2_180)
- _parse_mday (<= v1_9_2_180)
- _parse_mon (<= v1_9_2_180)
- _parse_sla (<= v1_9_2_180)
- _parse_sla_eu (<= v1_8_6_287)
- _parse_sla_ja (<= v1_8_6_287)
- _parse_sla_us (<= v1_8_6_287)
- _parse_time (<= v1_9_2_180)
- _parse_us (<= v1_9_2_180)
- _parse_vms (<= v1_9_2_180)
- _parse_year (<= v1_9_2_180)
- rewrite_frags (<= v1_9_2_180)
- rfc2822
- _rfc2822
- rfc3339
- _rfc3339
- rfc822
- _rfc822
- s3e (<= v1_9_2_180)
- strptime
- _strptime
- _strptime_i (<= v1_9_2_180)
- test_all (>= v2_6_3)
- test_civil (>= v2_6_3)
- test_commercial (>= v2_6_3)
- test_nth_kday (>= v2_6_3)
- test_ordinal (>= v2_6_3)
- test_unit_conv (>= v2_6_3)
- test_weeknum (>= v2_6_3)
- time_to_day_fraction (<= v1_8_7_330)
- today
- valid_civil?
- valid_commercial?
- valid_date?
- valid_date_frags? (<= v1_9_2_180)
- valid_jd?
- valid_nth_kday? (<= v1_9_2_180)
- valid_ordinal?
- valid_time? (<= v1_9_2_180)
- valid_time_frags? (<= v1_9_2_180)
- valid_weeknum? (<= v1_9_2_180)
- weeknum (>= v1_8_6_287)
- weeknum_to_jd (<= v1_8_7_330)
- xmlschema
- _xmlschema
- zone_to_diff (<= v1_8_7_330)
- Instance methods (167)
- <<
- <=>
- == (<= v1_9_2_180)
- ===
- >>
- -
- -@ (<= v1_9_2_180)
- / (<= v1_9_2_180)
- * (<= v1_9_2_180)
- ** (<= v1_9_2_180)
- % (<= v1_9_2_180)
- +
- +@ (<= v1_9_2_180)
- abs (<= v1_9_2_180)
- ajd
- ajd_to_amjd (<= v1_9_2_180)
- ajd_to_jd (<= v1_9_2_180)
- amjd
- amjd_to_ajd (<= v1_9_2_180)
- asctime
- as_json
- ceil (<= v1_9_2_180)
- civil (<= v1_9_2_180)
- civil_to_jd (<= v1_9_2_180)
- coerce (<= v1_9_2_180)
- commercial (<= v1_9_2_180)
- commercial_to_jd (<= v1_9_2_180)
- ctime
- cwday
- cweek
- cwyear
- day
- day_fraction
- day_fraction_to_time (<= v1_9_2_180)
- div (<= v1_9_2_180)
- divmod (<= v1_9_2_180)
- downto
- _dump (<= v1_8_7_330)
- dx_addsub (<= v1_9_2_180)
- dx_conv0 (<= v1_9_2_180)
- dx_conv1 (<= v1_9_2_180)
- dx_muldiv (<= v1_9_2_180)
- emit (<= v1_9_2_180)
- emit_a (<= v1_9_2_180)
- emit_ad (<= v1_9_2_180)
- emit_au (<= v1_9_2_180)
- emit_n (<= v1_9_2_180)
- emit_sn (<= v1_9_2_180)
- emit_w (<= v1_9_2_180)
- emit_z (<= v1_9_2_180)
- england
- eql?
- fill (>= v2_6_3)
- find_fdom (<= v1_9_2_180)
- find_fdoy (<= v1_9_2_180)
- find_ldom (<= v1_9_2_180)
- find_ldoy (<= v1_9_2_180)
- fix_style (<= v1_9_2_180)
- floor (<= v1_9_2_180)
- friday?
- gregorian
- gregorian?
- hash
- hour
- httpdate
- initialize_copy
- inspect
- inspect_raw (>= v2_6_3)
- integer? (<= v1_9_2_180)
- iso8601
- italy
- jd
- jd_to_ajd (<= v1_9_2_180)
- jd_to_civil (<= v1_9_2_180)
- jd_to_commercial (<= v1_9_2_180)
- jd_to_ld (<= v1_9_2_180)
- jd_to_mjd (<= v1_9_2_180)
- jd_to_nth_kday (<= v1_9_2_180)
- jd_to_ordinal (<= v1_9_2_180)
- jd_to_wday (<= v1_9_2_180)
- jd_to_weeknum (<= v1_9_2_180)
- jisx0301
- julian
- julian?
- ld
- ld_to_jd (<= v1_9_2_180)
- leap?
- marshal_dump
- marshal_dump_old (>= v2_6_3)
- marshal_load
- mday
- min
- minute
- mjd
- mjd_to_jd (<= v1_9_2_180)
- modulo (<= v1_9_2_180)
- mon
- monday?
- month
- new_offset
- new_start
- next
- next_day
- next_month
- next_year
- nth_kday? (>= v1_9_1_378)
- nth_kday_to_jd (<= v1_9_2_180)
- offset
- ordinal (<= v1_9_2_180)
- ordinal_to_jd (<= v1_9_2_180)
- prev_day
- prev_month
- prev_year
- quo (<= v1_9_2_180)
- quotient (<= v1_9_2_180)
- quotrem (<= v1_9_2_180)
- remainder (<= v1_9_2_180)
- rfc2822
- rfc3339
- rfc822
- round (<= v1_9_2_180)
- saturday?
- sec
- sec_fraction
- second
- second_fraction
- start
- step
- strftime
- succ
- sunday?
- thursday?
- time (<= v1_9_2_180)
- time_to_day_fraction (<= v1_9_2_180)
- to_c (<= v1_9_2_180)
- to_date
- to_datetime
- to_f (<= v1_9_2_180)
- to_i (<= v1_9_2_180)
- to_int (<= v1_9_2_180)
- to_json
- to_r (<= v1_9_2_180)
- to_s
- to_time
- to_yaml (<= v1_9_1_378)
- truncate (<= v1_9_2_180)
- tuesday?
- upto
- _valid_civil? (<= v1_9_2_180)
- _valid_commercial? (<= v1_9_2_180)
- _valid_jd? (<= v1_9_2_180)
- _valid_nth_kday? (<= v1_9_2_180)
- _valid_ordinal? (<= v1_9_2_180)
- _valid_time? (<= v1_9_2_180)
- _valid_weeknum? (<= v1_9_2_180)
- wday
- wednesday?
- weeknum0 (<= v1_9_2_180)
- weeknum1 (<= v1_9_2_180)
- weeknum_to_jd (<= v1_9_2_180)
- wnum0 (>= v1_8_6_287)
- wnum1 (>= v1_8_6_287)
- xmlschema
- yday
- year
- zone
- zone_to_diff (<= v1_9_2_180)
= private
= protected
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v1_9_2_180) is shown here.
_valid_civil?(y, m, d, sg=GREGORIAN)
public
Do year y, month m, and day-of-month d make a valid Civil Date? Returns the corresponding Julian Day Number if they do, nil if they don’t.
m and d can be negative, in which case they count backwards from the end of the year and the end of the month respectively. No wraparound is performed, however, and invalid values cause an ArgumentError to be raised. A date falling in the period skipped in the Day of Calendar Reform adjustment is not valid.
sg specifies the Day of Calendar Reform.
Show source
# File lib/date.rb, line 614 def _valid_civil? (y, m, d, sg=GREGORIAN) # :nodoc: if m < 0 m += 13 end if d < 0 return unless j = find_ldom(y, m, sg) ny, nm, nd = jd_to_civil(j + d + 1, sg) return unless [ny, nm] == [y, m] d = nd end jd = civil_to_jd(y, m, d, sg) return unless [y, m, d] == jd_to_civil(jd, sg) jd end