when_exe 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +36 -33
- data/bin/locales.rb +1 -1
- data/bin/make_ttl.rb.config +1 -1
- data/lib/when_exe.rb +27 -16
- data/lib/when_exe/basictypes.rb +772 -771
- data/lib/when_exe/calendartypes.rb +1485 -1453
- data/lib/when_exe/coordinates.rb +5 -0
- data/lib/when_exe/core/compatibility.rb +1 -1
- data/lib/when_exe/core/duration.rb +147 -116
- data/lib/when_exe/core/extension.rb +499 -497
- data/lib/when_exe/ephemeris.rb +1952 -1951
- data/lib/when_exe/ephemeris/eclipse.rb +5 -4
- data/lib/when_exe/ephemeris/notes.rb +457 -421
- data/lib/when_exe/ephemeris/planets.rb +585 -585
- data/lib/when_exe/ephemeris/sun.rb +214 -214
- data/lib/when_exe/google_api.rb +153 -0
- data/lib/when_exe/icalendar.rb +1640 -1632
- data/lib/when_exe/inspect.rb +42 -20
- data/lib/when_exe/linkeddata.rb +28 -7
- data/lib/when_exe/locales/autoload.rb +2 -1
- data/lib/when_exe/locales/locale.rb +35 -15
- data/lib/when_exe/locales/zh.rb +77 -0
- data/lib/when_exe/mini_application.rb +3 -1
- data/lib/when_exe/{googlecalendar.rb → obsolete/googlecalendar.rb} +144 -144
- data/lib/when_exe/parts/enumerator.rb +498 -486
- data/lib/when_exe/parts/geometric_complex.rb +397 -397
- data/lib/when_exe/parts/timezone.rb +246 -241
- data/lib/when_exe/region/armenian.rb +55 -56
- data/lib/when_exe/region/babylonian.rb +406 -405
- data/lib/when_exe/region/bahai.rb +107 -106
- data/lib/when_exe/region/balinese.rb +624 -622
- data/lib/when_exe/region/chinese.rb +1071 -1026
- data/lib/when_exe/region/chinese/epochs.rb +28 -28
- data/lib/when_exe/region/chinese/notes.rb +219 -0
- data/lib/when_exe/region/chinese/twins.rb +803 -803
- data/lib/when_exe/region/christian.rb +21 -15
- data/lib/when_exe/region/coptic.rb +107 -106
- data/lib/when_exe/region/discordian.rb +218 -218
- data/lib/when_exe/region/east_asian.rb +1 -1
- data/lib/when_exe/region/french.rb +126 -56
- data/lib/when_exe/region/geologicalage.rb +639 -639
- data/lib/when_exe/region/goddess.rb +60 -58
- data/lib/when_exe/region/hanke_henry.rb +2 -2
- data/lib/when_exe/region/indian.rb +1225 -1222
- data/lib/when_exe/region/international_fixed.rb +96 -97
- data/lib/when_exe/region/iranian.rb +206 -203
- data/lib/when_exe/region/islamic.rb +102 -102
- data/lib/when_exe/region/japanese.rb +126 -71
- data/lib/when_exe/region/japanese/epochs.rb +426 -426
- data/lib/when_exe/region/japanese/notes.rb +101 -81
- data/lib/when_exe/region/japanese/residues.rb +1345 -1311
- data/lib/when_exe/region/japanese/twins.rb +225 -225
- data/lib/when_exe/region/japanese/weeks.rb +112 -112
- data/lib/when_exe/region/javanese.rb +230 -230
- data/lib/when_exe/region/jewish.rb +130 -131
- data/lib/when_exe/region/m17n.rb +114 -114
- data/lib/when_exe/region/martian.rb +258 -258
- data/lib/when_exe/region/mayan.rb +11 -8
- data/lib/when_exe/region/pax.rb +4 -5
- data/lib/when_exe/region/pope.rb +1 -1
- data/lib/when_exe/region/positivist.rb +100 -100
- data/lib/when_exe/region/residue.rb +162 -162
- data/lib/when_exe/region/roman.rb +333 -333
- data/lib/when_exe/region/{soviet.rb → russian.rb} +221 -209
- data/lib/when_exe/region/shire.rb +222 -223
- data/lib/when_exe/region/symmetry.rb +50 -50
- data/lib/when_exe/region/thai.rb +336 -336
- data/lib/when_exe/region/tibetan.rb +315 -316
- data/lib/when_exe/region/tranquility.rb +207 -208
- data/lib/when_exe/region/vanishing_leprechaun.rb +3 -1
- data/lib/when_exe/region/vietnamese.rb +449 -440
- data/lib/when_exe/region/weekdate.rb +80 -80
- data/lib/when_exe/region/world.rb +170 -171
- data/lib/when_exe/region/world_season.rb +89 -89
- data/lib/when_exe/region/yerm.rb +3 -3
- data/lib/when_exe/region/zoroastrian.rb +205 -205
- data/lib/when_exe/timestandard.rb +708 -707
- data/lib/when_exe/tmduration.rb +338 -338
- data/lib/when_exe/tmobjects.rb +1356 -1356
- data/lib/when_exe/tmposition.rb +66 -31
- data/lib/when_exe/version.rb +16 -2
- data/test/examples/Residue.m17n +83 -83
- data/test/examples/Terms.m17n +2 -2
- data/test/test.rb +2 -2
- data/test/test/google_api.rb +65 -0
- data/test/test/linkeddata.rb +1 -1
- data/test/test/{googlecalendar.rb → obsolete/googlecalendar.rb} +194 -194
- data/test/test/region/indian.rb +90 -85
- data/test/test/region/m17n.rb +7 -7
- data/test/test/region/mayan.rb +195 -195
- data/test/test/region/residue.rb +153 -153
- data/test/test/tmposition.rb +11 -1
- data/when_exe.gemspec +2 -2
- metadata +95 -8
- data/test/test.rb.config +0 -1
data/lib/when_exe/tmposition.rb
CHANGED
@@ -314,11 +314,11 @@ module When::TM
|
|
314
314
|
gsub(When::Parts::Resource::IRIDecode) {|c| When::Parts::Resource::IRIDecodeTable[c]}
|
315
315
|
|
316
316
|
# suffix - Frame specification
|
317
|
-
if iso8601form =~ /\A(.*[^\d])\((([-+*&%@!>=<?\dW.]|\{.+?\})+)\)\z/
|
317
|
+
if iso8601form =~ /\A(.*[^\d]|.+=[^:]+)\((([-+*&%@!>=<?\dW.T:]|\{.+?\})+)\)\z/
|
318
318
|
frame, iso8601form = $~[1..2]
|
319
319
|
frame.sub!(/_+\z/, '')
|
320
320
|
else
|
321
|
-
iso8601form, frame, *rest = iso8601form.split(
|
321
|
+
iso8601form, frame, *rest = iso8601form.split(/(?:\^|%5E){1,2}/i)
|
322
322
|
return rest.inject(_instance(iso8601form + '^' + frame, options)) {|p,c| When.Resource(c, '_c:').jul_trans(p)} unless rest.empty?
|
323
323
|
end
|
324
324
|
|
@@ -326,7 +326,7 @@ module When::TM
|
|
326
326
|
options = options.merge({:frame=>When.Resource(frame, '_c:')}) if frame
|
327
327
|
|
328
328
|
# indeterminateValue
|
329
|
-
if (iso8601form.sub!(/\/After
|
329
|
+
if (iso8601form.sub!(/\/After\z|\ABefore\/|\ANow\z|\AUnknown\z|\A[-+]Infinity\z/i, ''))
|
330
330
|
options[:indeterminated_position] = When::TimeValue::S[$&.sub(/\//,'')]
|
331
331
|
case options[:indeterminated_position]
|
332
332
|
when When::TimeValue::Now,
|
@@ -505,7 +505,7 @@ module When::TM
|
|
505
505
|
main[:clock] = clock if clock
|
506
506
|
[:indeterminated_position, :frame, :events, :precision,
|
507
507
|
:era_name, :era, :abbr, :extra_year_digits, :ordinal_date_digits, :wkst, :time_standard, :location].each do |key|
|
508
|
-
main[key] = query.delete(key) if
|
508
|
+
main[key] = query.delete(key) if query.key?(key)
|
509
509
|
end
|
510
510
|
long = query.delete(:long)
|
511
511
|
lat = query.delete(:lat)
|
@@ -538,7 +538,7 @@ module When::TM
|
|
538
538
|
|
539
539
|
# PeriodDuration
|
540
540
|
sign, *args = PeriodDuration._to_array(specification)
|
541
|
-
if
|
541
|
+
if sign
|
542
542
|
args << options
|
543
543
|
duration = PeriodDuration.new(*args)
|
544
544
|
return (sign >= 0) ? duration : -duration
|
@@ -548,14 +548,14 @@ module When::TM
|
|
548
548
|
specification =~ /(.+?)(?:\[([-+]?\d+)\])?\z/
|
549
549
|
options[:sdn] = $2.to_i if $2
|
550
550
|
f, d, t, z, e, r = When::BasicTypes::DateTime._to_array($1, options)
|
551
|
-
raise ArgumentError, "Timezone conflict: #{z} - #{options[:clock]}" if (z && options[:clock])
|
552
551
|
options.delete(:abbr)
|
552
|
+
z2 = When.Clock(options[:clock]) if z && options[:clock]
|
553
553
|
z ||= options[:clock]
|
554
|
-
z
|
554
|
+
z = When.Clock(z) if z =~ /\A[A-Z]+\z/
|
555
555
|
|
556
556
|
unless d
|
557
557
|
# ClockTime
|
558
|
-
raise ArgumentError, "Timezone conflict: #{z} - #{options[:clock]}" if
|
558
|
+
raise ArgumentError, "Timezone conflict: #{z} - #{options[:clock]}" if z && options[:frame]
|
559
559
|
options[:frame] ||= z
|
560
560
|
options.delete(:clock)
|
561
561
|
return ClockTime.new(t, options)
|
@@ -563,7 +563,7 @@ module When::TM
|
|
563
563
|
|
564
564
|
options[:era_name] = e if e
|
565
565
|
options[:_format ] = f if f
|
566
|
-
d, w = d[0..0], d[1..-1] if
|
566
|
+
d, w = d[0..0], d[1..-1] if f == :week || f == :day
|
567
567
|
position = z ? DateAndTime.new(d, t||[0], options.update({:clock => z})) :
|
568
568
|
t ? DateAndTime.new(d, t, options) :
|
569
569
|
CalDate.new(d, options)
|
@@ -586,7 +586,7 @@ module When::TM
|
|
586
586
|
position &= residue
|
587
587
|
end
|
588
588
|
end
|
589
|
-
|
589
|
+
z2 ? z2 ^ position : position
|
590
590
|
end
|
591
591
|
end
|
592
592
|
|
@@ -703,14 +703,13 @@ module When::TM
|
|
703
703
|
|
704
704
|
# 標準ライブラリの DateTime オブジェクトへの変換
|
705
705
|
#
|
706
|
+
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
706
707
|
# @param [Hash] option 時間の歩度が1.0でない場合のための option
|
707
708
|
# see {When::TM::TemporalPosition._instance}
|
708
709
|
#
|
709
|
-
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
710
|
-
#
|
711
710
|
# @return [::DateTime]
|
712
711
|
#
|
713
|
-
def to_datetime(option={:frame=>When::UTC}
|
712
|
+
def to_datetime(start=_default_start, option={:frame=>When::UTC})
|
714
713
|
return JulianDate.dynamical_time(dynamical_time, option).to_datetime unless time_standard.rate_of_clock == 1.0
|
715
714
|
raise TypeError, "Clock not assigned" unless clock
|
716
715
|
Rational
|
@@ -721,14 +720,13 @@ module When::TM
|
|
721
720
|
|
722
721
|
# 標準ライブラリの Date オブジェクトへの変換
|
723
722
|
#
|
723
|
+
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
724
724
|
# @param [Hash] option 時間の歩度が1.0でない場合のための option
|
725
725
|
# see {When::TM::TemporalPosition._instance}
|
726
726
|
#
|
727
|
-
# @param [Integer] start ::DateTime オブジェクトのグレゴリオ改暦日(ユリウス通日)
|
728
|
-
#
|
729
727
|
# @return [::Date]
|
730
728
|
#
|
731
|
-
def to_date(option={}
|
729
|
+
def to_date(start=_default_start, option={})
|
732
730
|
return JulianDate.dynamical_time(dynamical_time, option).to_date unless time_standard.rate_of_clock == 1.0
|
733
731
|
::Date.jd(to_i, start)
|
734
732
|
end
|
@@ -1031,12 +1029,12 @@ module When::TM
|
|
1031
1029
|
# 属性のコピー
|
1032
1030
|
# @private
|
1033
1031
|
def _copy(options={})
|
1034
|
-
@frame = options[:frame] if
|
1035
|
-
@events = options[:events] if
|
1036
|
-
@precision = options[:precision] if
|
1037
|
-
@query = options[:query] if
|
1038
|
-
@location = options[:location] if
|
1039
|
-
@time_standard = options[:time_standard] if
|
1032
|
+
@frame = options[:frame] if options.key?(:frame)
|
1033
|
+
@events = options[:events] if options.key?(:events)
|
1034
|
+
@precision = options[:precision] if options.key?(:precision)
|
1035
|
+
@query = options[:query] if options.key?(:query)
|
1036
|
+
@location = options[:location] if options.key?(:location)
|
1037
|
+
@time_standard = options[:time_standard] if options.key?(:time_standard)
|
1040
1038
|
@sdn = @universal_time = @local_time = @dynamical_time = @period = nil
|
1041
1039
|
_normalize(options)
|
1042
1040
|
return self
|
@@ -1403,7 +1401,7 @@ module When::TM
|
|
1403
1401
|
#
|
1404
1402
|
def initialize(universal_time, options={})
|
1405
1403
|
@frame = options.delete(:frame)
|
1406
|
-
@frame = When.Clock(@frame) if
|
1404
|
+
@frame = When.Clock(@frame) if @frame.kind_of?(String)
|
1407
1405
|
@frame = @frame._daylight(universal_time) if @frame && @frame._need_validate
|
1408
1406
|
precision = options.delete(:precision)
|
1409
1407
|
precision ||= DAY unless @frame.kind_of?(Clock)
|
@@ -1517,9 +1515,12 @@ module When::TM
|
|
1517
1515
|
# 属性のコピー
|
1518
1516
|
# @private
|
1519
1517
|
def _copy(options={})
|
1520
|
-
@clk_time = options[:time]
|
1521
|
-
|
1522
|
-
|
1518
|
+
@clk_time = options[:time] if options.key?(:time)
|
1519
|
+
if options.key?(:clock)
|
1520
|
+
options.delete(:frame)
|
1521
|
+
@frame = options[:clock]
|
1522
|
+
end
|
1523
|
+
if options.key?(:tz_prop)
|
1523
1524
|
@frame = @frame.dup
|
1524
1525
|
@frame.tz_prop = options[:tz_prop]
|
1525
1526
|
end
|
@@ -1719,6 +1720,21 @@ module When::TM
|
|
1719
1720
|
'year' => most_significant_coordinate})
|
1720
1721
|
end
|
1721
1722
|
|
1723
|
+
# 暦年代の削除
|
1724
|
+
#
|
1725
|
+
# @return [When::TM::CalDate] 暦年代を削除した When::TM::CalDate
|
1726
|
+
#
|
1727
|
+
def without_era
|
1728
|
+
target = dup
|
1729
|
+
return target unless calendar_era
|
1730
|
+
options = _attr
|
1731
|
+
options[:era] = nil
|
1732
|
+
options[:era_name] = nil
|
1733
|
+
options[:date] = cal_date.dup
|
1734
|
+
options[:date][0] += calendar_era_epoch
|
1735
|
+
target._copy(options)
|
1736
|
+
end
|
1737
|
+
|
1722
1738
|
# 要素の参照
|
1723
1739
|
#
|
1724
1740
|
# @param [Integer, String] index 参照する要素の指定
|
@@ -1865,7 +1881,9 @@ module When::TM
|
|
1865
1881
|
# 属性のコピー
|
1866
1882
|
# @private
|
1867
1883
|
def _copy(options={})
|
1868
|
-
@cal_date
|
1884
|
+
@cal_date = options[:date] if options.key?(:date)
|
1885
|
+
@calendar_era = options[:era] if options.key?(:era)
|
1886
|
+
@calendar_era_props = options[:era_name] if options.key?(:era_name)
|
1869
1887
|
return super
|
1870
1888
|
end
|
1871
1889
|
|
@@ -1909,7 +1927,7 @@ module When::TM
|
|
1909
1927
|
era, date = _search_era(@calendar_era, trans_options)
|
1910
1928
|
else
|
1911
1929
|
eras = CalendarEra._instance(query_options)
|
1912
|
-
raise ArgumentError, "CalendarEraName doesn't exist: #{query_options[:label]}" if
|
1930
|
+
raise ArgumentError, "CalendarEraName doesn't exist: #{query_options[:label]}" if eras.empty?
|
1913
1931
|
eras.each do |e|
|
1914
1932
|
era, date = _search_era(e, trans_options)
|
1915
1933
|
next unless era
|
@@ -1965,7 +1983,7 @@ module When::TM
|
|
1965
1983
|
end
|
1966
1984
|
era = new_era
|
1967
1985
|
when TimeValue
|
1968
|
-
|
1986
|
+
return era, date
|
1969
1987
|
else
|
1970
1988
|
break
|
1971
1989
|
end
|
@@ -2105,7 +2123,18 @@ module When::TM
|
|
2105
2123
|
#
|
2106
2124
|
def floor(digit=DAY, precision=digit)
|
2107
2125
|
count = digit - clock.indices.length
|
2108
|
-
|
2126
|
+
|
2127
|
+
if digit>=DAY
|
2128
|
+
date = @cal_date.dup
|
2129
|
+
elsif @calendar_era_props
|
2130
|
+
date = @cal_date.dup
|
2131
|
+
date[0] += calendar_era_epoch
|
2132
|
+
date = @frame._validate(date[0..(digit-1)])
|
2133
|
+
date[0] -= calendar_era_epoch
|
2134
|
+
else
|
2135
|
+
date = @frame._validate(@cal_date[0..(digit-1)])
|
2136
|
+
end
|
2137
|
+
|
2109
2138
|
time = @clk_time.clk_time[0..((digit<=DAY) ? 0 : ((count>=0) ? -1 : digit))]
|
2110
2139
|
time[0] += to_i
|
2111
2140
|
time = clock._validate(time)
|
@@ -2179,7 +2208,13 @@ module When::TM
|
|
2179
2208
|
case options[:time]
|
2180
2209
|
when Array
|
2181
2210
|
if clock._need_validate
|
2182
|
-
|
2211
|
+
if @calendar_era_props
|
2212
|
+
date = options[:date].dup
|
2213
|
+
date[0] += calendar_era_epoch
|
2214
|
+
else
|
2215
|
+
date = options[:date]
|
2216
|
+
end
|
2217
|
+
new_clock = clock._daylight([@frame, date, options[:time]])
|
2183
2218
|
options[:time] = options[:time].map {|t| t * 1}
|
2184
2219
|
else
|
2185
2220
|
new_clock = clock
|
data/lib/when_exe/version.rb
CHANGED
@@ -1,10 +1,24 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
=begin
|
3
|
-
Copyright (C)
|
3
|
+
Copyright (C) 2011-2015 Takashi SUGA
|
4
4
|
|
5
5
|
You may use and/or modify this file according to the license described in the LICENSE.txt file included in this archive.
|
6
6
|
=end
|
7
7
|
|
8
8
|
module When
|
9
|
-
VERSION
|
9
|
+
VERSION = "0.4.2"
|
10
|
+
YEARS = "(C) 2011-2015"
|
11
|
+
AUTHOR = "Takashi SUGA"
|
12
|
+
COPYRIGHT = "#{YEARS} #{AUTHOR}"
|
13
|
+
|
14
|
+
class BasicTypes::M17n
|
15
|
+
Rights = [self, [
|
16
|
+
"locale:[=en:, ja=ja:, alias]",
|
17
|
+
"names:[Basic information=, 基本情報=, *alias:Rights=]",
|
18
|
+
"[#{YEARS}=, *alias:Years]",
|
19
|
+
"[#{AUTHOR}=http://hosi.org/TakashiSuga, 須賀 隆=, *alias:Author=]",
|
20
|
+
"[When.exe written in Ruby language=http://www2u.biglobe.ne.jp/~suchowan/when_exe_wiki.html, When.exe Ruby版=, *alias:Title=]",
|
21
|
+
"[Gem Ver. #{VERSION}=http://rubygems.org/gems/when_exe, *alias:Version=]"
|
22
|
+
]]
|
23
|
+
end
|
10
24
|
end
|
data/test/examples/Residue.m17n
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
BEGIN:B:M17N
|
2
|
-
# Copyright (C)
|
2
|
+
# Copyright (C) 2012-2015 Takashi SUGA
|
3
3
|
#
|
4
4
|
# You may use and/or modify this file according to the license
|
5
5
|
# described in the LICENSE.txt file included in this archive.
|
@@ -34,16 +34,16 @@ BEGIN:B:M17N
|
|
34
34
|
DIVISOR:10
|
35
35
|
DAY:11
|
36
36
|
YEAR:4
|
37
|
-
CO:RESIDUE:0,10,0,[
|
38
|
-
CO:RESIDUE:1,10,0,[
|
39
|
-
CO:RESIDUE:2,10,0,[
|
40
|
-
CO:RESIDUE:3,10,0,[
|
41
|
-
CO:RESIDUE:4,10,0,[
|
42
|
-
CO:RESIDUE:5,10,0,[
|
43
|
-
CO:RESIDUE:6,10,0,[
|
44
|
-
CO:RESIDUE:7,10,0,[
|
45
|
-
CO:RESIDUE:8,10,0,[
|
46
|
-
CO:RESIDUE:9,10,0,[
|
37
|
+
CO:RESIDUE:0,10,0,[Wood-yang, *甲]
|
38
|
+
CO:RESIDUE:1,10,0,[Wood-yin, *乙]
|
39
|
+
CO:RESIDUE:2,10,0,[Fire-yang, *丙]
|
40
|
+
CO:RESIDUE:3,10,0,[Fire-yin, *丁]
|
41
|
+
CO:RESIDUE:4,10,0,[Erath-yang, *戊]
|
42
|
+
CO:RESIDUE:5,10,0,[Erath-yin, *己]
|
43
|
+
CO:RESIDUE:6,10,0,[Metal-yang, *庚]
|
44
|
+
CO:RESIDUE:7,10,0,[Metal-yin, *辛]
|
45
|
+
CO:RESIDUE:8,10,0,[Water-yang, *壬]
|
46
|
+
CO:RESIDUE:9,10,0,[Water-yin, *癸]
|
47
47
|
END:CO:RESIDUE
|
48
48
|
|
49
49
|
BEGIN:CO:RESIDUE
|
@@ -51,18 +51,18 @@ BEGIN:B:M17N
|
|
51
51
|
DIVISOR:12
|
52
52
|
DAY:11
|
53
53
|
YEAR:4
|
54
|
-
CO:RESIDUE: 0,12,0,[
|
55
|
-
CO:RESIDUE: 1,12,0,[
|
56
|
-
CO:RESIDUE: 2,12,0,[
|
57
|
-
CO:RESIDUE: 3,12,0,[
|
58
|
-
CO:RESIDUE: 4,12,0,[
|
59
|
-
CO:RESIDUE: 5,12,0,[
|
60
|
-
CO:RESIDUE: 6,12,0,[
|
61
|
-
CO:RESIDUE: 7,12,0,[
|
62
|
-
CO:RESIDUE: 8,12,0,[
|
63
|
-
CO:RESIDUE: 9,12,0,[
|
64
|
-
CO:RESIDUE:10,12,0,[
|
65
|
-
CO:RESIDUE:11,12,0,[
|
54
|
+
CO:RESIDUE: 0,12,0,[Rat, *子]
|
55
|
+
CO:RESIDUE: 1,12,0,[Ox, *丑]
|
56
|
+
CO:RESIDUE: 2,12,0,[Tiger, *寅]
|
57
|
+
CO:RESIDUE: 3,12,0,[Rabbit, *卯]
|
58
|
+
CO:RESIDUE: 4,12,0,[Dragon, *辰]
|
59
|
+
CO:RESIDUE: 5,12,0,[Snake, *巳]
|
60
|
+
CO:RESIDUE: 6,12,0,[Horse, *午]
|
61
|
+
CO:RESIDUE: 7,12,0,[Goat, *未]
|
62
|
+
CO:RESIDUE: 8,12,0,[Monkey, *申]
|
63
|
+
CO:RESIDUE: 9,12,0,[Rooster, *酉]
|
64
|
+
CO:RESIDUE:10,12,0,[Dog, *戌]
|
65
|
+
CO:RESIDUE:11,12,0,[Pig, *亥]
|
66
66
|
END:CO:RESIDUE
|
67
67
|
|
68
68
|
|
@@ -71,66 +71,66 @@ BEGIN:B:M17N
|
|
71
71
|
DIVISOR:60
|
72
72
|
DAY:11
|
73
73
|
YEAR:4
|
74
|
-
CO:RESIDUE: 0,60,0,[
|
75
|
-
CO:RESIDUE: 1,60,0,[
|
76
|
-
CO:RESIDUE: 2,60,0,[
|
77
|
-
CO:RESIDUE: 3,60,0,[
|
78
|
-
CO:RESIDUE: 4,60,0,[
|
79
|
-
CO:RESIDUE: 5,60,0,[
|
80
|
-
CO:RESIDUE: 6,60,0,[
|
81
|
-
CO:RESIDUE: 7,60,0,[
|
82
|
-
CO:RESIDUE: 8,60,0,[
|
83
|
-
CO:RESIDUE: 9,60,0,[
|
84
|
-
CO:RESIDUE:10,60,0,[
|
85
|
-
CO:RESIDUE:11,60,0,[
|
86
|
-
CO:RESIDUE:12,60,0,[
|
87
|
-
CO:RESIDUE:13,60,0,[
|
88
|
-
CO:RESIDUE:14,60,0,[
|
89
|
-
CO:RESIDUE:15,60,0,[
|
90
|
-
CO:RESIDUE:16,60,0,[
|
91
|
-
CO:RESIDUE:17,60,0,[
|
92
|
-
CO:RESIDUE:18,60,0,[
|
93
|
-
CO:RESIDUE:19,60,0,[
|
94
|
-
CO:RESIDUE:20,60,0,[
|
95
|
-
CO:RESIDUE:21,60,0,[
|
96
|
-
CO:RESIDUE:22,60,0,[
|
97
|
-
CO:RESIDUE:23,60,0,[
|
98
|
-
CO:RESIDUE:24,60,0,[
|
99
|
-
CO:RESIDUE:25,60,0,[
|
100
|
-
CO:RESIDUE:26,60,0,[
|
101
|
-
CO:RESIDUE:27,60,0,[
|
102
|
-
CO:RESIDUE:28,60,0,[
|
103
|
-
CO:RESIDUE:29,60,0,[
|
104
|
-
CO:RESIDUE:30,60,0,[
|
105
|
-
CO:RESIDUE:31,60,0,[
|
106
|
-
CO:RESIDUE:32,60,0,[
|
107
|
-
CO:RESIDUE:33,60,0,[
|
108
|
-
CO:RESIDUE:34,60,0,[
|
109
|
-
CO:RESIDUE:35,60,0,[
|
110
|
-
CO:RESIDUE:36,60,0,[
|
111
|
-
CO:RESIDUE:37,60,0,[
|
112
|
-
CO:RESIDUE:38,60,0,[
|
113
|
-
CO:RESIDUE:39,60,0,[
|
114
|
-
CO:RESIDUE:40,60,0,[
|
115
|
-
CO:RESIDUE:41,60,0,[
|
116
|
-
CO:RESIDUE:42,60,0,[
|
117
|
-
CO:RESIDUE:43,60,0,[
|
118
|
-
CO:RESIDUE:44,60,0,[
|
119
|
-
CO:RESIDUE:45,60,0,[
|
120
|
-
CO:RESIDUE:46,60,0,[
|
121
|
-
CO:RESIDUE:47,60,0,[
|
122
|
-
CO:RESIDUE:48,60,0,[
|
123
|
-
CO:RESIDUE:49,60,0,[
|
124
|
-
CO:RESIDUE:50,60,0,[
|
125
|
-
CO:RESIDUE:51,60,0,[
|
126
|
-
CO:RESIDUE:52,60,0,[
|
127
|
-
CO:RESIDUE:53,60,0,[
|
128
|
-
CO:RESIDUE:54,60,0,[
|
129
|
-
CO:RESIDUE:55,60,0,[
|
130
|
-
CO:RESIDUE:56,60,0,[
|
131
|
-
CO:RESIDUE:57,60,0,[
|
132
|
-
CO:RESIDUE:58,60,0,[
|
133
|
-
CO:RESIDUE:59,60,0,[
|
74
|
+
CO:RESIDUE: 0,60,0,[Wood-yang-Rat, *甲子]
|
75
|
+
CO:RESIDUE: 1,60,0,[Wood-yin-Ox, *乙丑]
|
76
|
+
CO:RESIDUE: 2,60,0,[Fire-yang-Tiger, *丙寅]
|
77
|
+
CO:RESIDUE: 3,60,0,[Fire-yin-Rabbit, *丁卯]
|
78
|
+
CO:RESIDUE: 4,60,0,[Erath-yang-Dragon, *戊辰]
|
79
|
+
CO:RESIDUE: 5,60,0,[Erath-yin-Snake, *己巳]
|
80
|
+
CO:RESIDUE: 6,60,0,[Metal-yang-Horse, *庚午]
|
81
|
+
CO:RESIDUE: 7,60,0,[Metal-yin-Goat, *辛未]
|
82
|
+
CO:RESIDUE: 8,60,0,[Water-yang-Monkey, *壬申]
|
83
|
+
CO:RESIDUE: 9,60,0,[Water-yin-Rooster, *癸酉]
|
84
|
+
CO:RESIDUE:10,60,0,[Wood-yang-Dog, *甲戌]
|
85
|
+
CO:RESIDUE:11,60,0,[Wood-yin-Pig, *乙亥]
|
86
|
+
CO:RESIDUE:12,60,0,[Fire-yang-Rat, *丙子]
|
87
|
+
CO:RESIDUE:13,60,0,[Fire-yin-Ox, *丁丑]
|
88
|
+
CO:RESIDUE:14,60,0,[Erath-yang-Tiger, *戊寅]
|
89
|
+
CO:RESIDUE:15,60,0,[Erath-yin-Rabbit, *己卯]
|
90
|
+
CO:RESIDUE:16,60,0,[Metal-yang-Dragon, *庚辰]
|
91
|
+
CO:RESIDUE:17,60,0,[Metal-yin-Snake, *辛巳]
|
92
|
+
CO:RESIDUE:18,60,0,[Water-yang-Horse, *壬午]
|
93
|
+
CO:RESIDUE:19,60,0,[Water-yin-Goat, *癸未]
|
94
|
+
CO:RESIDUE:20,60,0,[Wood-yang-Monkey, *甲申]
|
95
|
+
CO:RESIDUE:21,60,0,[Wood-yin-Rooster, *乙酉]
|
96
|
+
CO:RESIDUE:22,60,0,[Fire-yang-Dog, *丙戌]
|
97
|
+
CO:RESIDUE:23,60,0,[Fire-yin-Pig, *丁亥]
|
98
|
+
CO:RESIDUE:24,60,0,[Erath-yang-Rat, *戊子]
|
99
|
+
CO:RESIDUE:25,60,0,[Erath-yin-Ox, *己丑]
|
100
|
+
CO:RESIDUE:26,60,0,[Metal-yang-Tiger, *庚寅]
|
101
|
+
CO:RESIDUE:27,60,0,[Metal-yin-Rabbit, *辛卯]
|
102
|
+
CO:RESIDUE:28,60,0,[Water-yang-Dragon, *壬辰]
|
103
|
+
CO:RESIDUE:29,60,0,[Water-yin-Snake, *癸巳]
|
104
|
+
CO:RESIDUE:30,60,0,[Wood-yang-Horse, *甲午]
|
105
|
+
CO:RESIDUE:31,60,0,[Wood-yin-Goat, *乙未]
|
106
|
+
CO:RESIDUE:32,60,0,[Fire-yang-Monkey, *丙申]
|
107
|
+
CO:RESIDUE:33,60,0,[Fire-yin-Rooster, *丁酉]
|
108
|
+
CO:RESIDUE:34,60,0,[Erath-yang-Dog, *戊戌]
|
109
|
+
CO:RESIDUE:35,60,0,[Erath-yin-Pig, *己亥]
|
110
|
+
CO:RESIDUE:36,60,0,[Metal-yang-Rat, *庚子]
|
111
|
+
CO:RESIDUE:37,60,0,[Metal-yin-Ox, *辛丑]
|
112
|
+
CO:RESIDUE:38,60,0,[Water-yang-Tiger, *壬寅]
|
113
|
+
CO:RESIDUE:39,60,0,[Water-yin-Rabbit, *癸卯]
|
114
|
+
CO:RESIDUE:40,60,0,[Wood-yang-Dragon, *甲辰]
|
115
|
+
CO:RESIDUE:41,60,0,[Wood-yin-Snake, *乙巳]
|
116
|
+
CO:RESIDUE:42,60,0,[Fire-yang-Horse, *丙午]
|
117
|
+
CO:RESIDUE:43,60,0,[Fire-yin-Goat, *丁未]
|
118
|
+
CO:RESIDUE:44,60,0,[Erath-yang-Monkey, *戊申]
|
119
|
+
CO:RESIDUE:45,60,0,[Erath-yin-Rooster, *己酉]
|
120
|
+
CO:RESIDUE:46,60,0,[Metal-yang-Dog, *庚戌]
|
121
|
+
CO:RESIDUE:47,60,0,[Metal-yin-Pig, *辛亥]
|
122
|
+
CO:RESIDUE:48,60,0,[Water-yang-Rat, *壬子]
|
123
|
+
CO:RESIDUE:49,60,0,[Water-yin-Ox, *癸丑]
|
124
|
+
CO:RESIDUE:50,60,0,[Wood-yang-Tiger, *甲寅]
|
125
|
+
CO:RESIDUE:51,60,0,[Wood-yin-Rabbit, *乙卯]
|
126
|
+
CO:RESIDUE:52,60,0,[Fire-yang-Dragon, *丙辰]
|
127
|
+
CO:RESIDUE:53,60,0,[Fire-yin-Snake, *丁巳]
|
128
|
+
CO:RESIDUE:54,60,0,[Erath-yang-Horse, *戊午]
|
129
|
+
CO:RESIDUE:55,60,0,[Erath-yin-Goat, *己未]
|
130
|
+
CO:RESIDUE:56,60,0,[Metal-yang-Monkey, *庚申]
|
131
|
+
CO:RESIDUE:57,60,0,[Metal-yin-Rooster, *辛酉]
|
132
|
+
CO:RESIDUE:58,60,0,[Water-yang-Dog, *壬戌]
|
133
|
+
CO:RESIDUE:59,60,0,[Water-yin-Pig, *癸亥]
|
134
134
|
END:CO:RESIDUE
|
135
135
|
|
136
136
|
END:B:M17N
|