holiday_japan 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +110 -23
- data/holiday_japan.gemspec +1 -1
- data/lib/holiday_japan.rb +6 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0650c87bea53ac73b1402704ad3bc93ab5511dde
|
4
|
+
data.tar.gz: c164c4e3ccde9b0cb5738c20c9ff81844def9192
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 83ea48c7cc1bee4269902620886b8abd0d55668c03018ee08f2d1ec6ca829052989fec0f32de6efcc65e2920020d25177de8eaf33fa86c6b7c19824ba87be9cc
|
7
|
+
data.tar.gz: 8367d3a87e32f85f1dff35b819df907e0bcae539d3112867eff64bbe98704b2cea3a224f32251db72658c4f0447a0b802ec1e4718ef31d54fed0130217234e54
|
data/README.md
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
# 日本の祝日判定Rubyプログラム
|
2
2
|
|
3
|
+
([GitHub](https://github.com/masa16/holiday_japan)),
|
4
|
+
([RubyGems](https://rubygems.org/gems/holiday_japan))
|
5
|
+
|
3
6
|
## 特徴
|
4
|
-
* 1948年7月20
|
7
|
+
* 1948年7月20日以降の日本の国民の祝日、振替休日、および国民の休日を計算して判定する
|
5
8
|
|
6
9
|
(date2 の holiday.rb と比較して)
|
7
10
|
* 祝日をキャッシュすることにより、大量の日付について祝日判定する場合でも高速に動作
|
@@ -10,46 +13,130 @@
|
|
10
13
|
|
11
14
|
## インストール
|
12
15
|
|
13
|
-
|
16
|
+
* RubyGems によるインストール
|
17
|
+
```
|
18
|
+
gem install holiday_japan
|
19
|
+
```
|
14
20
|
|
15
|
-
|
21
|
+
* または、[holiday_japan.rb](https://github.com/masa16/holiday_japan/blob/master/lib/holiday_japan.rb)
|
22
|
+
のスクリプトファイルを ruby のライブラリパスに置く
|
16
23
|
|
17
|
-
|
18
|
-
のスクリプトファイルを ruby のライブラリパスに置く
|
24
|
+
## 使い方
|
19
25
|
|
20
|
-
|
21
|
-
* 自分のスクリプトの先頭に次のように書いて、 holiday_japan.rb をロードする
|
26
|
+
* holiday_japan.rb をロードする
|
22
27
|
|
23
|
-
|
28
|
+
```ruby
|
29
|
+
require 'holiday_japan'
|
30
|
+
```
|
24
31
|
|
25
|
-
|
26
|
-
#### モジュール関数
|
32
|
+
### HolidayJapan モジュール関数
|
27
33
|
|
28
34
|
* `check(date)` ― Dateクラスのオブジェクトによる祝日判定
|
29
|
-
|
30
|
-
|
31
|
-
|
35
|
+
```ruby
|
36
|
+
HolidayJapan.check(Date.new(2015,3,21))
|
37
|
+
=> true
|
38
|
+
```
|
32
39
|
|
33
40
|
* `name(date)` ― 日付が祝日の場合は祝日名を返し、祝日でなければ nil を返す。
|
34
|
-
|
35
|
-
|
41
|
+
```ruby
|
42
|
+
HolidayJapan.name(Date.new(2015,3,21))
|
43
|
+
=> "春分の日"
|
44
|
+
```
|
36
45
|
|
37
46
|
* `list_year(year)` ― ある年について、 [日付, 祝日名] のArrayを返す
|
38
47
|
|
39
|
-
|
48
|
+
```ruby
|
49
|
+
HolidayJapan.list_year(2015)
|
50
|
+
=> [[#<Date: 2015-01-01>, "元日"],
|
51
|
+
[#<Date: 2015-01-12>, "成人の日"],
|
52
|
+
[#<Date: 2015-02-11>, "建国記念の日"],
|
53
|
+
[#<Date: 2015-03-21>, "春分の日"],
|
54
|
+
[#<Date: 2015-04-29>, "昭和の日"],
|
55
|
+
[#<Date: 2015-05-03>, "憲法記念日"],
|
56
|
+
[#<Date: 2015-05-04>, "みどりの日"],
|
57
|
+
[#<Date: 2015-05-05>, "こどもの日"],
|
58
|
+
[#<Date: 2015-05-06>, "振替休日"],
|
59
|
+
[#<Date: 2015-07-20>, "海の日"],
|
60
|
+
[#<Date: 2015-09-21>, "敬老の日"],
|
61
|
+
[#<Date: 2015-09-22>, "国民の休日"],
|
62
|
+
[#<Date: 2015-09-23>, "秋分の日"],
|
63
|
+
[#<Date: 2015-10-12>, "体育の日"],
|
64
|
+
[#<Date: 2015-11-03>, "文化の日"],
|
65
|
+
[#<Date: 2015-11-23>, "勤労感謝の日"],
|
66
|
+
[#<Date: 2015-12-23>, "天皇誕生日"]]
|
67
|
+
```
|
40
68
|
|
41
69
|
* `hash_year(year)` ― ある年について、 {日付=>祝日名} のHashを返す
|
42
70
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
71
|
+
```ruby
|
72
|
+
HolidayJapan.hash_year(2015)
|
73
|
+
=> {#<Date: 2015-01-01>=>"元日",
|
74
|
+
#<Date: 2015-01-12>=>"成人の日",
|
75
|
+
#<Date: 2015-02-11>=>"建国記念の日",
|
76
|
+
#<Date: 2015-04-29>=>"昭和の日",
|
77
|
+
#<Date: 2015-05-03>=>"憲法記念日",
|
78
|
+
#<Date: 2015-05-04>=>"みどりの日",
|
79
|
+
#<Date: 2015-05-05>=>"こどもの日",
|
80
|
+
#<Date: 2015-07-20>=>"海の日",
|
81
|
+
#<Date: 2015-09-21>=>"敬老の日",
|
82
|
+
#<Date: 2015-10-12>=>"体育の日",
|
83
|
+
#<Date: 2015-11-03>=>"文化の日",
|
84
|
+
#<Date: 2015-11-23>=>"勤労感謝の日",
|
85
|
+
#<Date: 2015-12-23>=>"天皇誕生日",
|
86
|
+
#<Date: 2015-03-21>=>"春分の日",
|
87
|
+
#<Date: 2015-09-23>=>"秋分の日",
|
88
|
+
#<Date: 2015-05-06>=>"振替休日",
|
89
|
+
#<Date: 2015-09-22>=>"国民の休日"}
|
90
|
+
```
|
91
|
+
|
92
|
+
* `between(from_date,to_date)` ― from_date から to_date までの祝日について、{日付=>祝日名}のHashを返す
|
93
|
+
|
94
|
+
```ruby
|
95
|
+
HolidayJapan.between(Date.new(2014,7,1),Date.new(2015,6,30))
|
96
|
+
=> {#<Date: 2014-07-21>=>"海の日",
|
97
|
+
#<Date: 2014-09-15>=>"敬老の日",
|
98
|
+
#<Date: 2014-10-13>=>"体育の日",
|
99
|
+
#<Date: 2014-11-03>=>"文化の日",
|
100
|
+
#<Date: 2014-11-23>=>"勤労感謝の日",
|
101
|
+
#<Date: 2014-12-23>=>"天皇誕生日",
|
102
|
+
#<Date: 2014-09-23>=>"秋分の日",
|
103
|
+
#<Date: 2014-11-24>=>"振替休日",
|
104
|
+
#<Date: 2015-01-01>=>"元日",
|
105
|
+
#<Date: 2015-01-12>=>"成人の日",
|
106
|
+
#<Date: 2015-02-11>=>"建国記念の日",
|
107
|
+
#<Date: 2015-04-29>=>"昭和の日",
|
108
|
+
#<Date: 2015-05-03>=>"憲法記念日",
|
109
|
+
#<Date: 2015-05-04>=>"みどりの日",
|
110
|
+
#<Date: 2015-05-05>=>"こどもの日",
|
111
|
+
#<Date: 2015-03-21>=>"春分の日",
|
112
|
+
#<Date: 2015-05-06>=>"振替休日"}
|
113
|
+
```
|
49
114
|
|
50
115
|
* `print_year(year)` ― ある年の祝日一覧をプリント
|
51
116
|
|
52
|
-
|
117
|
+
```ruby
|
118
|
+
HolidayJapan.print_year(2015)
|
119
|
+
```
|
120
|
+
```
|
121
|
+
listing year 2015...
|
122
|
+
2015-01-01 Thu 元日
|
123
|
+
2015-01-12 Mon 成人の日
|
124
|
+
2015-02-11 Wed 建国記念の日
|
125
|
+
2015-03-21 Sat 春分の日
|
126
|
+
2015-04-29 Wed 昭和の日
|
127
|
+
2015-05-03 Sun 憲法記念日
|
128
|
+
2015-05-04 Mon みどりの日
|
129
|
+
2015-05-05 Tue こどもの日
|
130
|
+
2015-05-06 Wed 振替休日
|
131
|
+
2015-07-20 Mon 海の日
|
132
|
+
2015-09-21 Mon 敬老の日
|
133
|
+
2015-09-22 Tue 国民の休日
|
134
|
+
2015-09-23 Wed 秋分の日
|
135
|
+
2015-10-12 Mon 体育の日
|
136
|
+
2015-11-03 Tue 文化の日
|
137
|
+
2015-11-23 Mon 勤労感謝の日
|
138
|
+
2015-12-23 Wed 天皇誕生日
|
139
|
+
```
|
53
140
|
|
54
141
|
## コマンドラインから祝日一覧を表示
|
55
142
|
|
data/holiday_japan.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.email = ["masa16.tanaka@gmail.com"]
|
11
11
|
gem.description = %q{Calculate National Holidays of Japan}
|
12
12
|
gem.summary = %q{Calculate National Holidays of Japan}
|
13
|
-
gem.homepage = "
|
13
|
+
gem.homepage = "http://masa16.github.io/holiday_japan/"
|
14
14
|
gem.license = "MIT"
|
15
15
|
|
16
16
|
gem.files = `git ls-files`.split($/)
|
data/lib/holiday_japan.rb
CHANGED
@@ -6,14 +6,14 @@ require "date"
|
|
6
6
|
|
7
7
|
module HolidayJapan
|
8
8
|
|
9
|
-
VERSION = "1.2.
|
9
|
+
VERSION = "1.2.1"
|
10
10
|
|
11
11
|
WEEK1 = 1..7
|
12
12
|
WEEK2 = 8..14
|
13
13
|
WEEK3 = 15..21
|
14
14
|
WEEK4 = 22..28
|
15
15
|
SUN,MON,TUE,WED,THU,FRU,SAT = (0..6).to_a
|
16
|
-
INF =
|
16
|
+
INF = (defined? Float::INFINITYs) ? Float::INFINITY : 1e34
|
17
17
|
|
18
18
|
# 祝日データ: 1948年7月20日以降で有効
|
19
19
|
DATA = [
|
@@ -41,10 +41,14 @@ module HolidayJapan
|
|
41
41
|
proc{|y|Integer(20.8357+0.242194*(y-1980))-Integer((y-1983)/4.0)} ],
|
42
42
|
["春分の日", 1980..2099, 3,
|
43
43
|
proc{|y|Integer(20.8431+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
44
|
+
["春分の日", 2100..2150, 3,
|
45
|
+
proc{|y|Integer(21.8510+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
44
46
|
["秋分の日" , 1948..1979, 9,
|
45
47
|
proc{|y|Integer(23.2588+0.242194*(y-1980))-Integer((y-1983)/4.0)} ],
|
46
48
|
["秋分の日" , 1980..2099, 9,
|
47
49
|
proc{|y|Integer(23.2488+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
50
|
+
["秋分の日" , 2100..2150, 9,
|
51
|
+
proc{|y|Integer(24.2488+0.242194*(y-1980))-Integer((y-1980)/4.0)} ],
|
48
52
|
["皇太子明仁親王の結婚の儀", 1959..1959, 4, 10 ],
|
49
53
|
["昭和天皇の大喪の礼", 1989..1989, 2, 24 ],
|
50
54
|
["即位礼正殿の儀", 1990..1990, 11, 12 ],
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: holiday_japan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro TANAKA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Calculate National Holidays of Japan
|
14
14
|
email:
|
@@ -24,7 +24,7 @@ files:
|
|
24
24
|
- Rakefile
|
25
25
|
- holiday_japan.gemspec
|
26
26
|
- lib/holiday_japan.rb
|
27
|
-
homepage:
|
27
|
+
homepage: http://masa16.github.io/holiday_japan/
|
28
28
|
licenses:
|
29
29
|
- MIT
|
30
30
|
metadata: {}
|
@@ -44,7 +44,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
44
44
|
version: '0'
|
45
45
|
requirements: []
|
46
46
|
rubyforge_project:
|
47
|
-
rubygems_version: 2.
|
47
|
+
rubygems_version: 2.5.1
|
48
48
|
signing_key:
|
49
49
|
specification_version: 4
|
50
50
|
summary: Calculate National Holidays of Japan
|