JPH09146891A - 全西暦対応曜日算出装置と方法 - Google Patents
全西暦対応曜日算出装置と方法Info
- Publication number
- JPH09146891A JPH09146891A JP7309061A JP30906195A JPH09146891A JP H09146891 A JPH09146891 A JP H09146891A JP 7309061 A JP7309061 A JP 7309061A JP 30906195 A JP30906195 A JP 30906195A JP H09146891 A JPH09146891 A JP H09146891A
- Authority
- JP
- Japan
- Prior art keywords
- day
- week
- year
- month
- calculating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 8
- 238000006243 chemical reaction Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000010586 diagram Methods 0.000 description 3
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
Landscapes
- Calculators And Similar Devices (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】基準日以前の日付の曜日は算出不可能でり、基
準日を設定する場合に同時にその基準日の曜日の設定も
必要となり、その基準日の曜日がいつであるかという調
査が必要であった。 【解決手段】その年の1月1日の曜日を計算式により算
出する手段と、1月1日の曜日より該当月の1日の曜日
を算出する手段と、該当月の1日の曜日算出時に使用す
る月変換テーブルと、閏年の判定を行う手段と、該当月
の1日の曜日より該当年月日の曜日を算出する手段と、
曜日算出時に使用する曜日変換テーブルとを備える。
準日を設定する場合に同時にその基準日の曜日の設定も
必要となり、その基準日の曜日がいつであるかという調
査が必要であった。 【解決手段】その年の1月1日の曜日を計算式により算
出する手段と、1月1日の曜日より該当月の1日の曜日
を算出する手段と、該当月の1日の曜日算出時に使用す
る月変換テーブルと、閏年の判定を行う手段と、該当月
の1日の曜日より該当年月日の曜日を算出する手段と、
曜日算出時に使用する曜日変換テーブルとを備える。
Description
【0001】
【発明の属する技術分野】本発明は全西暦対応曜日算出
装置と方法に関し、特に紀元後の任意の日付に対し、そ
の曜日を算出する装置と方法に関する。
装置と方法に関し、特に紀元後の任意の日付に対し、そ
の曜日を算出する装置と方法に関する。
【0002】
【従来の技術】従来の曜日の算出方式は、西暦A年B月
C日に対する曜日を算出する場合、基準日とその曜日を
事前に設定し(例えば1900年1月1日/日曜日)、
その基準日からA年B月C日までの日数を算出し、この
日数を7で除算したときの余りにより、求める曜日を算
出するという方式であった。
C日に対する曜日を算出する場合、基準日とその曜日を
事前に設定し(例えば1900年1月1日/日曜日)、
その基準日からA年B月C日までの日数を算出し、この
日数を7で除算したときの余りにより、求める曜日を算
出するという方式であった。
【0003】
【発明が解決しようとする課題】上述した従来の曜日算
出方式では、基準日以前の日付の曜日は算出不可能であ
る。また、基準日を設定する場合に同時にその基準日の
曜日の設定も必要となり、その基準日の曜日がいつであ
るかという調査が必要、という欠点があった。
出方式では、基準日以前の日付の曜日は算出不可能であ
る。また、基準日を設定する場合に同時にその基準日の
曜日の設定も必要となり、その基準日の曜日がいつであ
るかという調査が必要、という欠点があった。
【0004】
【課題を解決するための手段】本発明の全西暦対応曜日
算出装置は、任意の年月日(西暦)に対し、その年の1
月1日の曜日を計算式により算出する手段と、1月1日
の曜日より該当月の1日の曜日を算出する手段と、該当
月の1日の曜日算出時に使用する月変換テーブルと、閏
年の判定を行う手段と、該当月の1日の曜日より該当年
月日の曜日を算出する手段と、曜日算出時に使用する曜
日変換テーブルと、を備えて構成されている。
算出装置は、任意の年月日(西暦)に対し、その年の1
月1日の曜日を計算式により算出する手段と、1月1日
の曜日より該当月の1日の曜日を算出する手段と、該当
月の1日の曜日算出時に使用する月変換テーブルと、閏
年の判定を行う手段と、該当月の1日の曜日より該当年
月日の曜日を算出する手段と、曜日算出時に使用する曜
日変換テーブルと、を備えて構成されている。
【0005】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
て図面を参照して説明する。
【0006】図1は本発明の一実施の形態の動作を示す
流れ図、図2は本発明の曜日を数字に変換する曜日変換
テーブルを示す図、そして図3は本発明の月を数字に変
換する月変換テーブルを示す図である。
流れ図、図2は本発明の曜日を数字に変換する曜日変換
テーブルを示す図、そして図3は本発明の月を数字に変
換する月変換テーブルを示す図である。
【0007】曜日を求めたい年月日をA年B月C日とす
る。ここでAはゼロより大きく、西暦年を表すものとす
る。この場合、最初にA年の1月1日の曜日を求め、閏
年の判定をし、それを基にA年B月1日の曜日を求め、
最後にA年B月C日の曜日を算出する。
る。ここでAはゼロより大きく、西暦年を表すものとす
る。この場合、最初にA年の1月1日の曜日を求め、閏
年の判定をし、それを基にA年B月1日の曜日を求め、
最後にA年B月C日の曜日を算出する。
【0008】まずA年1月1日の曜日算出について、以
下の処理を行う。
下の処理を行う。
【0009】Aより1を減算した値を4で除算し、商を
D、剰余をEとする。次にDに定数497を乗じ、それ
より3を減算した値を100で除算する。このとき小数
点以下は切り捨てとする((497×D−3)÷10
0)。この100で除算した値にEと1を加算し、結果
を7で除算した時の剰余を図2の曜日変換テーブルで変
換することでA年1月1日の曜日を算出する(ステップ
S1)。
D、剰余をEとする。次にDに定数497を乗じ、それ
より3を減算した値を100で除算する。このとき小数
点以下は切り捨てとする((497×D−3)÷10
0)。この100で除算した値にEと1を加算し、結果
を7で除算した時の剰余を図2の曜日変換テーブルで変
換することでA年1月1日の曜日を算出する(ステップ
S1)。
【0010】次に、閏年の判定について、以下の処理を
行う。
行う。
【0011】次の条件を満たす場合に閏年と判定する。
【0012】(条件) 年Aが4で割り切れ、かつ(1
00で割り切れない、または、400で割り切れる)条
件式で表した場合、(A÷4)の剰余=0 かつ{(A
÷100)の剰余≠0 または (A÷400)の剰余
=0)}となる。以上により閏年の判定を行い、閏年と
判定された場合(ステップS2のYES)で求めたい年
月日の月が3以上(B≧3)の場合(ステップS3のY
ES)には、次のA年B月1日の曜日算出を行う。
00で割り切れない、または、400で割り切れる)条
件式で表した場合、(A÷4)の剰余=0 かつ{(A
÷100)の剰余≠0 または (A÷400)の剰余
=0)}となる。以上により閏年の判定を行い、閏年と
判定された場合(ステップS2のYES)で求めたい年
月日の月が3以上(B≧3)の場合(ステップS3のY
ES)には、次のA年B月1日の曜日算出を行う。
【0013】図3の月変換テーブルより、B月を数字に
変換し、その値をFとする。A年B月1日の曜日は、先
に求めたA年1月1日の曜日を表す数字にFと1を加算
した結果を7で除算した時の剰余を図2の曜日変換テー
ブルで変換した結果として求められる(ステップS
4)。
変換し、その値をFとする。A年B月1日の曜日は、先
に求めたA年1月1日の曜日を表す数字にFと1を加算
した結果を7で除算した時の剰余を図2の曜日変換テー
ブルで変換した結果として求められる(ステップS
4)。
【0014】また、閏年と判定されなかった場合(ステ
ップS2のNO)と、閏年と判定された場合(ステップ
S2のYES)で求めたい年月日の月が3以上(B≧
3)でない場合(ステップS3のNO)には、A年B月
1日の曜日算出について、以下の処理を行う。
ップS2のNO)と、閏年と判定された場合(ステップ
S2のYES)で求めたい年月日の月が3以上(B≧
3)でない場合(ステップS3のNO)には、A年B月
1日の曜日算出について、以下の処理を行う。
【0015】図3の月変換テーブルより、B月を数字に
変換し、その値をFとする。A年B月1日の曜日は、先
に求めたA年1月1日の曜日を表す数字にFを加算した
結果を7で除算した時の剰余を図2の曜日変換テーブル
で変換した結果として求められる(ステップS5)。
変換し、その値をFとする。A年B月1日の曜日は、先
に求めたA年1月1日の曜日を表す数字にFを加算した
結果を7で除算した時の剰余を図2の曜日変換テーブル
で変換した結果として求められる(ステップS5)。
【0016】最後に、A年B月C日の曜日算出につい
て、以下の処理を行う。
て、以下の処理を行う。
【0017】まず、先に求めたA年B月1日の曜日を表
す数字にCを加算し、その結果より1を減算した値を7
で除算し、その剰余を図2の曜日変換テーブルで変換し
た結果がA年B月C日の曜日となる(ステップS6)。
す数字にCを加算し、その結果より1を減算した値を7
で除算し、その剰余を図2の曜日変換テーブルで変換し
た結果がA年B月C日の曜日となる(ステップS6)。
【0018】次に、具体例を用いて説明する。1995
年3月14日の場合、まず1995年1月1日の曜日算
出について、 (1995−1)÷4=498…2(ここでD=49
8、E=2となる) (497×498−3)÷100=2475.03
→ 2475 (2475+2+1)÷7=354…0 剰余が0であり、図2の曜日変換テーブルより0は日曜
日を表す。次に、閏年判定について、 1995÷4=498…3 であり、閏年ではない。
次に、1995年3月1日の曜日算出について、 3月を図3の月変換テーブルで変換する(結果はF=
3)。
年3月14日の場合、まず1995年1月1日の曜日算
出について、 (1995−1)÷4=498…2(ここでD=49
8、E=2となる) (497×498−3)÷100=2475.03
→ 2475 (2475+2+1)÷7=354…0 剰余が0であり、図2の曜日変換テーブルより0は日曜
日を表す。次に、閏年判定について、 1995÷4=498…3 であり、閏年ではない。
次に、1995年3月1日の曜日算出について、 3月を図3の月変換テーブルで変換する(結果はF=
3)。
【0019】1995年1月1日の曜日0にF(=
3)を加算して7で除算する。
3)を加算して7で除算する。
【0020】(0+3)÷7=0…3 剰余が3であり、図2の曜日変換テーブルより3は水曜
日を表す。最後に1995年3月14日の曜日算出につ
いて、 1995年3月1日の曜日3に14を加算して1を減
算し、結果を7で除算する。
日を表す。最後に1995年3月14日の曜日算出につ
いて、 1995年3月1日の曜日3に14を加算して1を減
算し、結果を7で除算する。
【0021】(3+14−1)÷7=2…2 剰余が2であり、図2の曜日変換テーブルより2は火曜
日を表す。以上の計算により、1995年3月14日は
火曜日であることが算出される。閏年の場合の具体例と
して、1992年3月14日の曜日算出について、 (1992−1)÷4=497…3(ここでD=49
7、E=3となる) (497×497−3)÷100=2470.06
→ 2470 (2470+3+1)÷7=353…3 剰余が3であり、図2の曜日変換テーブルより3は水曜
日を表す。次に、閏年判定について、 1992÷4=498…0 1992÷100=19…92 1992÷400=4…392 であり、閏年と判定
する。次に、月の判定について、 月が3以上であるかどうか判定し、1992年3月で
あるので3以上と判定する。次に、1992年3月1日
の曜日算出について、 3月を図3の月変換テーブルで変換する(結果はF=
3) 1992年1月1日の曜日3にF(=3)と1を加算
して7で除算する。
日を表す。以上の計算により、1995年3月14日は
火曜日であることが算出される。閏年の場合の具体例と
して、1992年3月14日の曜日算出について、 (1992−1)÷4=497…3(ここでD=49
7、E=3となる) (497×497−3)÷100=2470.06
→ 2470 (2470+3+1)÷7=353…3 剰余が3であり、図2の曜日変換テーブルより3は水曜
日を表す。次に、閏年判定について、 1992÷4=498…0 1992÷100=19…92 1992÷400=4…392 であり、閏年と判定
する。次に、月の判定について、 月が3以上であるかどうか判定し、1992年3月で
あるので3以上と判定する。次に、1992年3月1日
の曜日算出について、 3月を図3の月変換テーブルで変換する(結果はF=
3) 1992年1月1日の曜日3にF(=3)と1を加算
して7で除算する。
【0022】(3+3+1)÷7=1…0 剰余が0であり、1992年3月1日は日曜日であるこ
とが算出される。
とが算出される。
【0023】最後に1992年3月14日の曜日算出に
ついて、 1992年3月1日の曜日0に14を加算して1を減
算し、結果を7で除算する。
ついて、 1992年3月1日の曜日0に14を加算して1を減
算し、結果を7で除算する。
【0024】(0+14−1)÷7=1…6 剰余が6であり、図2の曜日変換テーブルより6は土曜
日を表す。
日を表す。
【0025】以上の計算により、1992年3月14日
は土曜日であることが算出される。
は土曜日であることが算出される。
【0026】
【発明の効果】以上説明したように、本発明の全西暦対
応曜日算出装置と方法によれば、紀元後以降であれば何
日でも曜日を算出することができる。
応曜日算出装置と方法によれば、紀元後以降であれば何
日でも曜日を算出することができる。
【0027】また、事前に基準日を設定することなく計
算式のみで曜日を算出することができる。
算式のみで曜日を算出することができる。
【図1】本発明の一実施の形態の動作を示す流れ図であ
る。
る。
【図2】本発明の曜日を数字に変換する曜日変換テーブ
ルを示す図である。
ルを示す図である。
【図3】本発明の月を数字に変換する月変換テーブルを
示す図である。
示す図である。
Claims (2)
- 【請求項1】 任意の年月日(西暦)に対し、その年の
1月1日の曜日を計算式により算出する手段と、1月1
日の曜日より該当月の1日の曜日を算出する手段と、該
当月の1日の曜日算出時に使用する月変換テーブルと、
閏年の判定を行う手段と、該当月の1日の曜日より該当
年月日の曜日を算出する手段と曜日算出時に使用する曜
日変換テーブルと、を備えることを特徴とする全西暦対
応曜日算出装置。 - 【請求項2】 求める曜日の年月日をA年B月C日とし
た場合、Aより1を減算し4で除算し、商D、剰余Eを
算出し、Dに定数497を乗じ、3を減算し100で除
算したものにEと1を加算し7で除算し、剰余Hを算出
し、Hを曜日の日月火水木金土をそれぞれ単数字の01
23456に対応させた曜日変換テーブルの単数字に対
応させることでHに対応するA年1月1日の曜日を算出
し、月の1月2月3月4月5月6月7月8月9月10月
11月12月をそれぞれ単数字の3361462503
5に対応させた月変換テーブルよにり求めたい年月日の
月に対応した単数字Fを得て、年Aが4で割り切れ、か
つ100で割り切れないかまたは400で割り切れる場
合は閏年と判定し、求めたい年月日の月が3以上の場合
前記算出したA年1月1日の曜日を表す単数字にFと1
を加算し7で除算した時の剰余を前記曜日変換テーブル
で変換し、また閏年と判定されなかった場合と、閏年と
判定された場合で求めたい年月日の月が3以上でない場
合、前記算出したA年1月1日の曜日を表す単数字にF
を加算し7で除算した時の剰余を前記曜日変換テーブル
で変換し、A年B月1日の曜日を算出し、A年B月1日
の曜日を表す単数字にCを加算したものから1を減算し
7で除算し、その剰余を前記曜日変換テーブルで変換し
A年B月C日の曜日を算出することを特徴とする全西暦
対応曜日算出方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7309061A JPH09146891A (ja) | 1995-11-28 | 1995-11-28 | 全西暦対応曜日算出装置と方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7309061A JPH09146891A (ja) | 1995-11-28 | 1995-11-28 | 全西暦対応曜日算出装置と方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09146891A true JPH09146891A (ja) | 1997-06-06 |
Family
ID=17988415
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7309061A Pending JPH09146891A (ja) | 1995-11-28 | 1995-11-28 | 全西暦対応曜日算出装置と方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09146891A (ja) |
-
1995
- 1995-11-28 JP JP7309061A patent/JPH09146891A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0142067B1 (en) | A method of scheduling a meeting among several terminal users | |
| CN109559083B (zh) | 日期确定方法及装置 | |
| JPH11120248A (ja) | 生産スケジューリング・システムおよびスケジューリング方法 | |
| JPH11265408A (ja) | カレンダ管理装置及びカレンダ表示制御方法並びにカレンダ管理プログラムを記録したコンピュータ読取り可能な記録媒体 | |
| JPH09146891A (ja) | 全西暦対応曜日算出装置と方法 | |
| US20050278632A1 (en) | Tracking rescheduled meetings on electronic calendars | |
| JPS6024984B2 (ja) | スケジュ−ル管理システム | |
| JP3674957B2 (ja) | カレンダ表示装置 | |
| JPH0675068A (ja) | 自動曜日算出装置 | |
| Stanley | 103.46 A four-hundred year calendar | |
| TWI806206B (zh) | 智慧撥號推薦方法、非暫態電腦可讀取媒體及其行動裝置 | |
| JP2000029558A (ja) | ジョブ運用スケジュール変更方法 | |
| JPH04362684A (ja) | 曜表示付電子機器 | |
| JPH09259192A (ja) | 発注量決定装置 | |
| JPH11120258A (ja) | 貸出応答日算出方法 | |
| JPH0754356B2 (ja) | カレンダ−装置 | |
| JP2000122998A (ja) | 曜日算出方法及び曜日算出装置 | |
| JP2695803B2 (ja) | 作業情報管理装置 | |
| US9892382B2 (en) | Recurrence definition identification | |
| JPH0720634Y2 (ja) | 日付データ記憶装置 | |
| JPH03251956A (ja) | 週情報出力装置 | |
| JPH0561885A (ja) | 予算作成方式 | |
| JPH0795800B2 (ja) | 通信装置 | |
| JP2534326B2 (ja) | 週間スケジュ―ル表示装置 | |
| JPH0916671A (ja) | 生産スケジュール作成装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19980203 |