説明

カレンダー表示制御装置、カレンダー表示制御方法およびプログラム

【課題】 祝日が変更された場合にもこの変更に対応して正確な休日の表示を行うことのできるカレンダー表示制御装置、カレンダー表示制御方法およびプログラムを提供する。
【解決手段】 月日および休日の情報を表示装置に表示させるカレンダー表示制御装置において、祝日を表わす祝日情報を記憶するデータ記憶手段(13)と、前記祝日情報に基づいて振替休日を算出する第1休日演算手段と、前記祝日情報に基づいて国民の休日を算出する第2休日演算手段と、算出された振替休日および国民の休日を含んだ休日の情報を表示装置に表示させる休日表示制御手段と、データ記憶手段(13)に記憶される祝日情報の追加、変更および削除を可能とするデータ変更手段とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、月日と休日の情報を表示装置に表示させるカレンダー表示制御装置、カレンダー表示制御方法およびプログラムに関する。
【背景技術】
【0002】
カレンダー表示を行う電子機器において休日の表示を行うものが以前より存在する。
【0003】
また、本発明に関連する先行技術として、特許文献1には、祝祭日と日曜日とが重なって生じる振替休日を自動的に算出して表示するカレンダー表示装置について開示されている。また、特許文献2には、万年カレンダーのデータと祝祭日の月日データに基づいて、祝祭日が振り替えられたり祝祭日が移動したりする場合に、これらを反映した休日の情報を自動的に算出する装置が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特公昭63−67157号公報
【特許文献2】特開2000−20500号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
祝日は永久固定のものでなく変更されることがある。また、日本の休日には、日曜日、祝日、振替休日だけでなく、祝日と祝日に挟まれた平日が休日となる「国民の休日」と呼ばれる休日がある。
【0006】
この発明の目的は、祝日が変更された場合にもこの変更に対応して正確な休日の表示を行うことのできるカレンダー表示制御装置、カレンダー表示制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、請求項1記載の発明は、
月日および休日の情報を表示装置に表示させるカレンダー表示制御装置において、
祝日を表わす祝日情報を記憶するデータ記憶手段と、
前記データ記憶手段に記憶された前記祝日情報に基づいて振替休日を算出する第1休日演算手段と、
前記データ記憶手段に記憶された前記祝日情報に基づいて、前日及び翌日が祝日であり且つ当日が祝日になっていない国民の休日を算出する第2休日演算手段と、
前記第1休日演算手段および前記第2休日演算手段により算出された前記振替休日および前記国民の休日を含んだ休日の情報を前記表示装置に表示させる休日表示制御手段と、
前記データ記憶手段に記憶される前記祝日情報の追加、変更および削除を可能とするデータ変更手段と、
を備え、
前記第1休日演算手段と前記第2休日演算手段とは、前記データ変更手段により前記祝日情報の追加、変更又は削除が行われた場合に、追加、変更又は削除の後の前記祝日情報に基づいて、前記振替休日と前記国民の休日とをそれぞれ算出することを特徴としている。
【0008】
請求項2記載の発明は、請求項1記載のカレンダー表示制御装置において、
前記データ記憶手段には、
ユーザ定義の休日を表わす個人休日情報が前記祝日情報と識別可能に記憶可能であり、
前記データ変更手段は、
前記データ記憶手段に記憶される前記個人休日情報を前記祝日情報と区別して追加、変更および削除可能にされ、
前記休日表示制御手段は、
前記個人休日情報により示される休日を含んだ休日の情報を前記表示装置に表示させることを特徴としている。
【0009】
請求項3記載の発明は、請求項1記載のカレンダー表示制御装置において、
外部から操作指令を入力する操作手段を備え、
前記データ変更手段は、
前記操作手段を介した外部からの操作指令の入力により前記祝日情報の追加、変更および削除を可能とすることを特徴としている。
【0010】
請求項4記載の発明は、請求項1記載のカレンダー表示制御装置において、
前記データ記憶手段は、不揮発性メモリにより構成されていることを特徴としている。
【0011】
請求項5記載の発明は、
祝日を表わす祝日情報を記憶するデータ記憶手段および表示装置をコンピュータが制御して前記表示装置に月日および休日の情報を表示させるカレンダー表示制御方法において、
前記コンピュータが、前記データ記憶手段に記憶された前記祝日情報に基づき振替休日を算出する第1休日演算ステップと、
前記コンピュータが、前記データ記憶手段に記憶された前記祝日情報に基づいて前日及び翌日が祝日であり且つ当日が祝日になっていない国民の休日を算出する第2休日演算ステップと、
前記コンピュータが、前記第1休日演算ステップおよび前記第2休日演算ステップにより算出された前記振替休日および前記国民の休日を含んだ休日の情報を前記表示装置に表示させる休日表示制御ステップと、
前記コンピュータが、操作手段を介した外部からの操作指令の入力に基づき前記データ記憶手段に記憶される前記祝日情報の追加、変更および削除を行うデータ変更ステップと、
を含み、
前記データ変更ステップにより前記祝日情報の追加、変更又は削除が行われた場合に、追加、変更又は削除の後の前記祝日情報に基づいて前記第1休日演算ステップと前記第2休日演算ステップがそれぞれ実行されることを特徴としている。
【0012】
請求項6記載の発明は、請求項5記載のカレンダー表示制御方法において、
前記データ変更ステップは、
前記コンピュータが、前記操作手段を介した外部からの操作指令の入力に基づき、前記データ記憶手段に記憶されているユーザ定義の休日を表わす個人休日情報を、前記祝日情報と区別して追加、変更および削除可能なステップを含み、
前記休日表示制御ステップは、
前記コンピュータが、前記個人休日情報の休日を含んだ休日の情報を前記表示装置に表示させることを特徴としている。
【0013】
請求項7記載の発明は、
祝日を表わす祝日情報を記憶するデータ記憶手段と、月日および休日の情報を表示する表示装置とを制御するコンピュータに、
前記データ記憶手段に記憶された前記祝日情報に基づいて振替休日を算出する第1休日演算機能と、
前記データ記憶手段に記憶された前記祝日情報に基づいて前日及び翌日が祝日であり且つ当日が祝日になっていない国民の休日を算出する第2休日演算機能と、
前記第1休日演算機能および前記第2休日演算機能により算出された前記振替休日および前記国民の休日を含んだ休日の情報を前記表示装置に表示させる休日表示制御機能と、
操作手段を介した外部からの操作指令の入力に基づいて前記データ記憶手段に記憶される前記祝日情報の追加、変化および削除を行うデータ変更機能と、
を実現させ、
前記第1休日演算機能と前記第2休日演算機能とは、前記データ変更機能により前記祝日情報の追加、変更又は削除が行われた場合に、追加、変更又は削除の後の前記祝日情報に基づいて前記振替休日と前記国民の休日とをそれぞれ算出することを特徴とするプログラムである。
【0014】
請求項8記載の発明は、請求項7記載のプログラムにおいて、
前記データ変更機能は、
操作手段を介した外部からの操作指令の入力に基づき、前記データ記憶手段に記憶されているユーザ定義の休日を表わす個人休日情報を前記祝日情報と区別して追加、変更および削除可能とする機能を含み、
前記休日表示制御機能は、
前記個人休日情報の休日を含んだ休日の情報を前記表示装置に表示させることを特徴としている。
【発明の効果】
【0015】
本発明に従うと、祝日に変更が生じた場合には、データ記憶手段に記憶される祝日情報の追加、変更または削除によって対応することができる。また、振替休日と国民の休日は祝日情報から演算により求めているので、祝日の変更に伴ってこれら振替休日と国民の休日とを共に含んだ正確な休日の情報が求められるという効果がある。
【図面の簡単な説明】
【0016】
【図1】本発明の実施形態のカレンダー表示装置の全体構成を示すブロック図である。
【図2】カレンダー表示装置の表示画面を示す正面図である。
【図3】不揮発性メモリに記憶される祝日データと個人休日データの一例を示すデータチャートである。
【図4】CPUにより実行される休日データ変更処理の制御手順を示すフローチャートである。
【図5】CPUにより実行される休日表示処理の制御手順を示すフローチャートの第1部である。
【図6】同、休日表示処理のフローチャートの第2部である。
【図7】同、休日表示処理のフローチャートの第3部である。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態を図面に基づいて説明する。
【0018】
図1は、本発明の実施形態のカレンダー表示装置の全体構成を示すブロック図、図2は、このカレンダー表示装置の表示画面を示す正面図である。
【0019】
この実施形態のカレンダー表示装置1は、現在日時と現在日を含む複数日分(例えば1週間分)の日付、曜日および休日の情報を表示する装置であり、図1と図2に示すように、表示画面20Aに上記表示が行われる表示部20と、表示制御を行うCPU(中央演算処理装置)10と、CPU10が実行する制御プログラムおよび制御データが格納されたROM(Read Only Memory)11と、CPU10に作業用のメモリ空間を提供するRAM(Random Access Memory)12と、書き換え可能な制御データを格納するデータ記憶手段としての不揮発性メモリ13と、現在日時を計数する計時回路14と、複数の操作ボタンを有し外部から操作指令を入力する操作部(操作手段)15等を備えている。上記構成のうち、表示部20を除いた各構成によりカレンダー表示制御装置が、CPU10、ROM11、RAM12によりコンピュータが、それぞれ構成される。
【0020】
表示部20の表示画面20Aには、時刻等が表示される第1表示領域21と、カレンダー表示が行われる第2表示領域22とが設けられている。第1表示領域21には、通常時において現在時刻が表示される一方、操作部15を介して設定データの入力が行われる際にはデータ入力用の表示が行われる。
【0021】
第2表示領域22には、左の範囲に現在の年月日が表示される年月日表示領域221が設けられ、中央から右の範囲に一週間分のカレンダー表示が行われるカレンダー表示領域222が設けられている。
【0022】
カレンダー表示領域222には、その下段に一週間分の日付表示D1がなされ、中段に一週間分の曜日表示D2が固定的になされ、上段に休日であることを表わす休日マークD3が表示され、日付表示D1の上部に現在の日付を指し示す指示マークD4が表示される。日付表示D1は、「1〜31」の1桁又は2桁の日付数字を7組一列に並べて構成され、各々の日付数字の表示はCPU10の制御によって変更可能にされている。曜日表示D2は、各曜日を表わす曜日文字が日付表示D1の各日付数字にそれぞれ対応する位置に、7個一列に並べられて構成される。指示マークD4は、日付表示D1の7組の日付数字の上部にそれぞれ表示のオンとオフの切り換えが可能にされ、休日マークD3は、曜日表示D2の7組の曜日文字の上部にそれぞれ表示のオンとオフの切り換えが可能にされている。
【0023】
通常表示モードの際、このカレンダー表示領域222には、一週間が経過するごとに一週間分の日付数字と休日マークD3の表示のオン・オフが更新されて、現在日を含む一週間分のカレンダー表示がなされるようになっている。また、日付が変るごとに指示マークD4の表示オンされる位置がシフトして、常に現在日が指示された状態にされるようになっている。
【0024】
図3には、不揮発性メモリ13に構築される祝日データテーブル131と個人休日データテーブル134の一例を表わすデータチャートを示す。
【0025】
不揮発性メモリ13には、祝日を表わす祝日情報が複数登録された祝日データテーブル131と、ユーザ定義の休日を表わす個人休日情報が複数登録可能にされた個人休日データテーブル134とが設けられている。
【0026】
祝日データテーブル131には、複数年分の春分の日と秋分の日のデータが登録された春分秋分の日データテーブル132と、毎年の祝日データが登録された年次データテーブル133とが含まれる。年次データテーブル133には、データ登録されていないブランク領域が複数用意され、新たに祝日が追加されたときに、祝日情報を追加登録することが可能になっている。
【0027】
春分秋分の日データテーブル132には、例えば、年月日が指定された祝日情報が登録され、年次データテーブル133には、例えば、月日のみが指定された祝日情報や、月と第何週の第何曜日という形式で指定された祝日情報等が登録されている。
【0028】
個人休日データテーブル134には、ユーザ定義の休日が種々の形式で指定された休日情報が登録可能になっている。例えば、曜日のみ指定の休日情報、年月日やその範囲が指定される休日情報、月日やその範囲が指定される休日情報、月と第何週の第何曜日という形式で指定される休日情報などが登録可能になっている。個人休日データテーブル134には、データ登録されていないブランク領域が複数用意され、新たな休日情報を追加登録することが可能になっている。
【0029】
ROM11には、制御プログラムとして、計時回路14の計時データに基づいて第1表示領域21の時刻表示や第2表示領域22のカレンダー表示の更新を行う日時表示処理プログラム、操作部15を介した操作指令の入力に基づいて動作モードを通常の日時表示モードから休日データ変更モードやその他のモードへ変更するモード切換制御プログラム、操作部15からの入力によって祝日データテーブル131と個人休日データテーブル134のデータの追加、変更および削除が可能な休日データ変更処理プログラムなどが格納されている。また、上記の各プログラムの中から呼び出されてカレンダー表示領域222の表示を更新する1週間の休日表示処理プログラムも格納されている。
【0030】
これらの各プログラムは、ROM11に格納するほか、例えば、データ読取装置を介してCPU10が読み取り可能な、光ディスク等の可搬型記憶媒体、フラッシュメモリ等の不揮発性メモリに格納しておくことが可能である。また、このようなプログラムがキャリアウェーブ(搬送波)を媒体として通信回線を介してカレンダー表示装置1にダウンロードされる形態を適用することもできる。
【0031】
次に、上記構成のカレンダー表示装置1において実行される休日データ変更処理(データ変更手段)および1週間の休日表示処理について説明する。
【0032】
図4には、CPU10により実行される休日データ変更処理のフローチャートを示す。
【0033】
この休日データ変更処理は、操作部15を介して動作モードが休日データ変更モードに変更されたことで開始される。休日データ変更処理が開始されると、先ず、CPU10は、表示部20へ表示データを出力して第1表示領域21の表示をデータ入力用の表示に切り替える(ステップS1)。
【0034】
次に、CPU10は、操作部15を介した操作入力を受け付けて、祝日データテーブル131の祝日情報の追加、変更および削除を行うのか、個人休日データテーブル134の個人休日情報の追加、変更および削除を行うのか、ユーザに選択入力を行わせる(ステップS2)。具体的には、ユーザが操作部15を操作して祝日情報か個人休日情報の何れかを選択し、その後、操作部15を操作して選択完了の操作を行うことで、上記の選択入力が遂行される。
【0035】
データテーブルの選択入力が行われたら、続いて、CPU10は、操作部15を介した操作入力を受け付けて、祝日データテーブル131又は個人休日データテーブル134のうち選択されたデータテーブルにおけるデータ登録先のメモリ番号(データの登録領域)の選択入力を行わせる(ステップS3)。そして、選択されたメモリ番号にデータが登録されていれば、そのデータを表示部20の第1表示領域21へ表示させる(ステップS4)。なお、このステップS3,S4の処理を、メモリ番号の選択完了の操作が行われるまでループ処理により繰り返し行われるようにするようにしても良い。それにより、ユーザはメモリ番号の選択中に選択途中のメモリ番号に何のデータが登録されているのか確認しながら、データの追加、変更および削除の対象とするメモリ番号を選択することが可能となる。
【0036】
メモリ番号の選択入力およびそのデータ表示が行われたら、続いて、CPU10は、操作部15を介した操作入力を受け付けて、ユーザにデータ入力形式の選択入力を行わせる(ステップS5)。すなわち、月日指定、年月日指定、これらの範囲指定、曜日指定、月と第何週の第何曜日の指定など、選択されているメモリ番号に登録可能なデータ形式のうち、何れかを選択させる。
【0037】
そして、データ入力形式の選択入力が行われたら、続いて、CPU10は、操作部15を介した操作入力を受け付けて、上記選択されたデータ形式により指定されるデータの入力をユーザにより行わせる(ステップS6)。具体的には、ユーザが操作部15を操作して、年月日、曜日、第何週などの指定データを1つずつ順送りしていき、所望の値に送られたときに操作部15を介して確定の操作を行う。このような操作を選択されたデータ形式に含まれる指定データの個数分(例えば、年月日の指定なら“年”と“月”と“日”の3個分)行うことでデータの入力が遂行される。また、このステップS6のデータ入力処理において、指定データをブランクにしたまま入力完了の操作を行うことで、ブランクデータの入力となって、元に登録されていたデータを削除することもできる。
【0038】
次に、CPU10は、ステップS2で選択された祝日データテーブル131又は個人休日データテーブル134の何れかのデータテーブルにおいて、ステップS4で選択されたメモリ番号のデータ登録領域へ、ステップS6の入力データを上書きして登録させる。なお、ステップS6でブランクデータが入力されている場合には、選択されたメモリ番号に元々登録されていたデータが削除されることとなる。
【0039】
入力データを登録したら、次いで、CPU10は、新規に登録のあったデータテーブル(祝日データテーブル131又は個人休日データテーブル134)について複数の登録データを所定条件に従った順番に並べかえるソート処理を行う(ステップS8)。例えば、祝日データテーブル131の年次データテーブル133については、月日の若い順に登録データが並べ替えられ、且つ、ブランク領域が下位に来るようにされる。また、個人休日データテーブル134については、曜日指定の登録データ、月日指定の登録データ、年月日指定の登録データの順で且つ各指定データの値が若い順に登録データが並べ替えられ、さらに、ブランク領域が下位に来るようにされる。
【0040】
ソート処理が完了したら、CPU10は、表示部20へ表示データを出力して第1表示領域21の表示をデータ入力用の表示から通常の時刻表示へ戻す(ステップS9)。さらに、第2表示領域22のカレンダー表示についても表示の更新が行われるように表示更新要求を発効する(ステップS10)。この表示更新要求の発効により、続いて実行される日時表示処理において、週や日付の変更がなくても第2表示領域22のカレンダー表示に対して日付や休日の抽出処理から行われて、カレンダー表示が更新される。そして、このカレンダー表示の更新により、上記ステップS2〜S8で更新された祝日情報や個人休日情報が反映された休日マークD3の表示のオン・オフ制御がなされるようになっている。その後、この休日データ変更処理を終了する。
【0041】
図5〜図7には、CPU10により実行される1週間の休日表示処理のフローチャートを示す。
【0042】
この1週間の休日表示処理は、1週間の経過(土曜日から日曜日への変更時)或いは日付の変更時、並びに、上記の表示更新要求の発効により、カレンダー表示を更新する際に併せて実行されるものであり、カレンダー表示中の一週間分の休日マークD3のオン・オフを決定する処理である。
【0043】
この1週間の休日表示処理が開始されると、先ず、CPU10は、計時回路14の計時データの年月日の情報に基づいて、現在日を含む日曜日から土曜日までの一週間の日付を抽出するとともに、表示部20へ表示データを出力して、これらの日付値を反映した日付表示D1を行わせる(ステップS21)。
【0044】
次に、CPU10は、振替休日の有無を判定するための振替フラグF1、国民の休日の有無を判定するための国民休日フラグFK1,FK2を共にクリアする初期化処理(ステップS22)と、XレジスタにステップS21で抽出された一週間の日付のうち最初(日曜日)の日付データをセットし、Yレジスタに祝日データテーブル131の最初のメモリ番号に登録されている祝日情報をセットする(ステップS23)。Xレジスタは、この後、日付表示D1に出力される一週間分の日付値が順にセットされるRAM12内のレジスタであり、Yレジスタは、この後、祝日データテーブル131の祝日情報が順にセットされるRAM12内のレジスタである。XレジスタとYレジスタにデータがセットされたら、次に進む。
【0045】
次に進むと、CPU10は、Xレジスタのデータ値とYレジスタのデータ値の比較を行って、Xレジスタにセットされた日付がYレジスタにセットされた祝日と重なるか判別する(ステップS24)。その結果、重なっていれば(一致)、Xレジスタの日付に対応した休日マークD3を表示オンにする(ステップS25:休日表示制御手段)。一方、不一致であれば、Yレジスタに祝日データテーブル131の全ての祝日情報がセットされて比較終了済みか確認し(ステップS26)、未だであればYレジスタに次の祝日情報をセットして(ステップS27)、再び、ステップS24に戻る。
【0046】
すなわち、ステップS24,S26,S27のループ処理が繰り返し行われることで、Xレジスタの日付が祝日データテーブル131に登録されている複数の祝日の何れかと重なっているか否かが判別されて、祝日と重なっていれはステップS25で休日マークD3が表示オンされ、何れの祝日でもなければステップS26の判別処理で“YES”側へ分岐するようになっている。
【0047】
その結果、Xレジスタの日付が何れの祝日でもなくループ処理を抜けたら、CPU10は、この日付が日曜日か判別し(ステップS28)、日曜日でなければ振替休日を示す振替フラグF1がセットされているか否かを確認する(ステップS29)。そして、日曜であるか、或いは、振替フラグF1がセットされていれば、振替フラグF1をクリアした上で(ステップS30)、Xレジスタの日付に対応した休日マークD3を表示オンにする(ステップS31:休日表示制御手段)。
【0048】
一方、日曜でもなく、振替フラグF1のセットもなければ、CPU10は、国民休日フラグFK1のセットが有るか判別し(ステップS32)、有れば国民休日フラグFK2をセットするとともに国民休日フラグFK1をクリアする(ステップS33)。一方、国民休日フラグFK1のセットが無ければ、国民休日フラグFK2をクリアして(ステップS34)、次に進む。ここで、国民休日フラグFK1とは、前日が祝日である場合にセットされるフラグであり、国民休日フラグFK2とは、前日が祝日で且つ当日が祝日でも日曜日でもないときにセットされるフラグである。
【0049】
次に進むと、CPU10は、Xレジスタの日付に対応した休日マークD3を表示オフにして(ステップS35:休日表示制御手段)、図6のステップS42へジャンプする。そして、Xレジスタの日付が土曜日(日付表示D1の最終日)であるかを確認し(ステップS42)、土曜日でなければ、Xレジスタの日付を「+1日」更新し、Yレジスタに祝日データテーブル131の最初のメモリ番号に登録されている祝日情報をセットする(ステップS43)。それから、再び、ステップS24に戻る。
【0050】
つまり、上記のステップS24〜S42,S43のループ処理が繰り返されることで、Xレジスタの日付が日付表示D1の先頭の日付から最後の日付まで1日ずつ変更されて、休日か否かの判定処理が行われるようになっている。
【0051】
一方、ステップS24の判別処理で一致(祝日)と判別されて、ステップS25でXレジスタの日付に対応する休日マークを表示オンしたら、次いで、Xレジスタの日付が日曜日か判別し(ステップS36)、日曜日であれば次の日が振替休日となるので振替フラグF1をセットして(ステップS41)、ステップS42に移行する。
【0052】
一方、日曜日でなければ、国民休日フラグFK2がセットされているか判別し(ステップS32)、セットされていれば、Xレジスタの日付を当日とすれば、前々日が祝日、前日が平日、当日が祝日であり、前日が「国民の休日」であると判定されるので、Xレジスタの日付の前日に対応する休日マークを表示オンにする(ステップS40:休日表示制御手段)。そして、ステップS42に移行する。
【0053】
一方、日曜日でもなく、国民休日フラグFK2のセットもなければ、振替フラグF1がセットされているか判別し(ステップS38)、セットされていれば、祝日が続いていて、さらに次の日を振替休日とするために、そのままステップS42へ移行する。また、振替フラグF1がセットされていなければ、次の日が「国民の休日」となりえるので国民休日フラグFK1をセットして(ステップS39)、それからステップS42へ移行する。
【0054】
ステップS42へ移行したら、上述したように、Xレジスタの日付が土曜日であるかの確認(ステップS42)と、土曜日でなければ、Xレジスタの値を更新するとともにのYレジスタの値を初期化してステップS24に戻る。
【0055】
そして、Xレジスタの日付が一週間分更新されて、ステップS42の判別処理で土曜日であると判別された場合には、一週間の最後の土曜日が「国民の休日」となっていないか判定する処理(ステップS44〜S49)に進む。
【0056】
すなわち、先ず、CPU10は、国民休日フラグFK2がセットされているか判別する(ステップS44)。このフラグFK2がセットされていなければ、一週間の最後の土曜日が「国民の休日」になりえないので、そのまま、図7のステップS50へ移行する。
【0057】
一方、フラグFK2がセットされていれば、Xレジスタの日付を「+1日」更新し、Yレジスタに祝日データテーブル131の最初のメモリ番号に登録されている祝日情報をセットする(ステップS45)。ここで、Xレジスタにセットされる日付は、一週間の日付表示D1に表れていない、その次の日曜日の日付となる。
【0058】
次いで、CPU10は、ステップS46,S47,S49のループ処理を繰り返して、Xレジスタの日付が祝日データテーブル131に登録されている何れかの祝日に該当しないか判別する処理を行う。上述したステップS24,S26,S27のループ処理と同様の処理である。
【0059】
このループ処理中、Xレジスタの日付が祝日に該当していれば、ステップS46の判別処理で一致の側へ移行する。この場合、前日の土曜日が「国民の休日」に該当するので、土曜日の休日マークD3を表示オンにして(ステップS48:休日表示制御手段)、図7のステップS50へ移行する。
【0060】
一方、上記のループ処理で、Xレジスタの日付が祝日に該当していなければ、ステップS47の判別処理で全ての祝日情報と比較終了と判別され、この場合、前日の土曜日は「国民の休日」に該当しないことになるので、そのまま、図7のステップS50へ移行する。
【0061】
以上のステップS21〜S49(図5,図6)の処理によって、カレンダー表示される1週間の各日付が、祝日、日曜日、振替休日、国民の休日の何れかに該当するか算出されて、算出結果に応じた休日マークD3の表示が遂行されるようになっている。上記のステップS24,S26,S36,S41,S28〜S31等、振替フラグF1に関わる処理により第1休日演算手段が構成され、ステップS32〜S34,S36〜S40,S44〜S49等、国民休日フラグFK1,FK2に関わる処理により第2休日演算手段が構成される。
【0062】
続いてCPU10により実行されるステップS50〜S57(図7)の処理は、カレンダー表示される1週間の各日付が、ユーザ定義の個人休日に該当するか否か確認して、個人休日に該当する場合に、対応する休日マークD3の表示をオンさせる処理である。個人休日については、祝日と異なって振替休日や国民の休日を発生させることがないので、ステップS21〜S49の祝日に関する処理と別途分けて実行されるようになっている。
【0063】
ステップS50に移行すると、CPU10は、先ず、XレジスタにステップS1で抽出されている一週間の日付のうち最初(日曜日)の日付のデータをセットし、Yレジスタに個人休日データテーブの最初のメモリ番号に登録されている個人休日情報をセットする(ステップS50)。
【0064】
続いて、CPU10は、Xレジスタの日付がすでに休日に設定されているか判別し(ステップS51)、未だ休日に設定されていなければ、Xレジスタの日付がYレジスタの個人休日情報の条件に合致するか否かを判別する(ステップS52)。
【0065】
その結果、Xレジスタの日付が休日設定されてなく、Yレジスタの個人休日情報の条件に合致したと判別されたら、Xレジスタの日付に対応した休日マークD3を表示オンにする(ステップS53:休日表示制御手段)。一方、Xレジスタの日付がすでに休日設定されているか、Yレジスタの個人休日情報の条件に合致していないと判別されたら、Yレジスタに個人休日データテーブル134の全ての個人休日情報をセットして比較終了済みか確認し(ステップS54)、未だであればYレジスタに次の個人休日情報をセットして(ステップS55)、再び、ステップS51に戻る。
【0066】
すなわち、上記のステップS51,S52,S54,S55のループ処理が繰り返し行われることで、Xレジスタの日付がユーザ定義の休日に設定されているか否かが判別されて、ユーザ定義の休日に設定されていれば、この日付に対応した休日マークD3が表示オンされるようになっている。
【0067】
そして、ステップS52の判別処理で個人休日情報の条件と合致したと判別されるか、或いは、ステップS54の判別処理で全ての個人休日情報との比較が終了したと判別されるかして上記のループ処理を抜けると、CPU10は、Xレジスタの日付が土曜日(日付表示D1の最終日)であるかを確認し(ステップS56)、土曜日でなければ、Xレジスタの日付を「+1日」更新し、Yレジスタに個人休日データテーブル134の最初のメモリ番号に登録されている個人休日情報をセットする(ステップS57)。そして、再び、ステップS51に戻る。
【0068】
つまり、上記のステップS51〜S56,S57のループ処理が繰り返されることで、Xレジスタの日付が日付表示D1の先頭の日付から最終の日付まで1日ずつ変更されて、各日付がユーザ定義の休日か否かの判定が行われて、ユーザ定義の休日であればこの日付に対応した休日マークD3が表示オンされるようになっている。
【0069】
上記の1週間の休日表示処理(図5〜図7)が、週や日にちの切り替り時点、または、祝日情報或いは個人休日情報の変更操作後に行われることで、カレンダー表示領域222に当日を含む一週間に日付表示D1とそれに対応した正確な休日情報を表わす休日マークD3とが常に表示されるようになっている。
【0070】
以上のように、この実施形態のカレンダー表示装置1によれば、上述の休日データ変更処理(図4)によって、祝日データテーブル131の祝日情報の追加、変更および削除を行うことが可能になっている。さらに、祝日情報の追加、変更または削除がなされた場合には、カレンダー表示領域222の表示の更新がなされて、新たな祝日情報に基づく休日マークD3の表示が行われるようになっている。このとき、振替休日と国民の休日についても新たな祝日情報に基づいて算出されて休日の有無が判定されるので、振替休日と国民の休日とを含んだ正確な休日情報を表示することが可能になっている。
【0071】
また、この実施形態のカレンダー表示装置1によれば、ユーザ定義の休日を示す個人休日情報が登録される個人休日データテーブル134が設けられ、この個人休日情報に基づく休日の表示も行われる。また、個人休日情報と祝日情報とは区別されて、個人休日情報に基づいて振替休日や国民の休日が誤って算出されてしまうということがないので、ユーザ定義の休日も含めて正確な休日情報の表示を行うことができる。
【0072】
また、休日データ変更処理は、操作部15を介した外部操作により、祝日情報や個人休日情報の変更を行うことが可能なものなので、エンドユーザによって祝日やユーザ定義の休日の設定変更を容易に行わせることができる。また、祝日データテーブル131や個人休日データテーブル134は、不揮発性メモリ13に設けられているので、登録データの変更が可能であり、且つ電源電圧が遮断された場合でも登録データを失わない。
【0073】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。例えば、上記実施形態では、表示部20を有し実際にカレンダー表示を行う装置を例示したが、表示装置を別構成とし、外部の表示装置に表示データや表示信号を出力してカレンダー表示を行わせる表示制御装置に本発明を適用しても良い。また、上記実施形態では、カレンダー表示として、一週間分の日付および休日が表示される形式を例示したが、一ヶ月分の日付および休日が表示される形式としても良い。また、当日1日の日付および休日が表示される日めくりカレンダーの形式としたり、当日を中心或いは先頭等とした一週間分や所定日数分の表示とするなど、表示形式は種々に変更可能である。
【0074】
また、上記実施形態では、祝日情報と個人休日情報とを区別するために、別々のデータテーブルを用意して各データテーブルに別個に登録する構成を例示したが、例えば、各休日情報に祝日情報と個人休日情報とを区別する識別データを付加することで、同一のデータテーブルに両者を登録しても、これら両者を区別可能とする構成を適用することもできる。
【0075】
その他、カレンダー表示の画面構成、振替休日と国民の休日との算出方法、祝日情報や個人休日情報の変更方法など、この実施形態に示した細部構成および細部方法は、発明の趣旨を逸脱しない範囲で適宜変更可能である。
【符号の説明】
【0076】
1 カレンダー表示装置
10 CPU
11 ROM
12 RAM
13 不揮発性メモリ
14 計時回路
15 操作部
20 表示部
131 祝日データテーブル
134 個人休日データテーブル
222 カレンダー表示領域
D1 日付表示
D2 曜日表示
D3 休日マーク

【特許請求の範囲】
【請求項1】
月日および休日の情報を表示装置に表示させるカレンダー表示制御装置において、
祝日を表わす祝日情報を記憶するデータ記憶手段と、
前記データ記憶手段に記憶された前記祝日情報に基づいて振替休日を算出する第1休日演算手段と、
前記データ記憶手段に記憶された前記祝日情報に基づいて、前日及び翌日が祝日であり且つ当日が祝日になっていない国民の休日を算出する第2休日演算手段と、
前記第1休日演算手段および前記第2休日演算手段により算出された前記振替休日および前記国民の休日を含んだ休日の情報を前記表示装置に表示させる休日表示制御手段と、
前記データ記憶手段に記憶される前記祝日情報の追加、変更および削除を可能とするデータ変更手段と、
を備え、
前記第1休日演算手段と前記第2休日演算手段とは、前記データ変更手段により前記祝日情報の追加、変更又は削除が行われた場合に、追加、変更又は削除の後の前記祝日情報に基づいて、前記振替休日と前記国民の休日とをそれぞれ算出することを特徴とするカレンダー表示制御装置。
【請求項2】
前記データ記憶手段には、
ユーザ定義の休日を表わす個人休日情報が前記祝日情報と識別可能に記憶可能であり、
前記データ変更手段は、
前記データ記憶手段に記憶される前記個人休日情報を前記祝日情報と区別して追加、変更および削除可能にされ、
前記休日表示制御手段は、
前記個人休日情報により示される休日を含んだ休日の情報を前記表示装置に表示させることを特徴とする請求項1記載のカレンダー表示制御装置。
【請求項3】
外部から操作指令を入力する操作手段を備え、
前記データ変更手段は、
前記操作手段を介した外部からの操作指令の入力により前記祝日情報の追加、変更および削除を可能とすることを特徴とする請求項1記載のカレンダー表示制御装置。
【請求項4】
前記データ記憶手段は、不揮発性メモリにより構成されていることを特徴とする請求項1記載のカレンダー表示制御装置。
【請求項5】
祝日を表わす祝日情報を記憶するデータ記憶手段および表示装置をコンピュータが制御して前記表示装置に月日および休日の情報を表示させるカレンダー表示制御方法において、
前記コンピュータが、前記データ記憶手段に記憶された前記祝日情報に基づき振替休日を算出する第1休日演算ステップと、
前記コンピュータが、前記データ記憶手段に記憶された前記祝日情報に基づいて前日及び翌日が祝日であり且つ当日が祝日になっていない国民の休日を算出する第2休日演算ステップと、
前記コンピュータが、前記第1休日演算ステップおよび前記第2休日演算ステップにより算出された前記振替休日および前記国民の休日を含んだ休日の情報を前記表示装置に表示させる休日表示制御ステップと、
前記コンピュータが、操作手段を介した外部からの操作指令の入力に基づき前記データ記憶手段に記憶される前記祝日情報の追加、変更および削除を行うデータ変更ステップと、
を含み、
前記データ変更ステップにより前記祝日情報の追加、変更又は削除が行われた場合に、追加、変更又は削除の後の前記祝日情報に基づいて前記第1休日演算ステップと前記第2休日演算ステップがそれぞれ実行されることを特徴とするカレンダー表示制御方法。
【請求項6】
前記データ変更ステップは、
前記コンピュータが、前記操作手段を介した外部からの操作指令の入力に基づき、前記データ記憶手段に記憶されているユーザ定義の休日を表わす個人休日情報を、前記祝日情報と区別して追加、変更および削除可能なステップを含み、
前記休日表示制御ステップは、
前記コンピュータが、前記個人休日情報の休日を含んだ休日の情報を前記表示装置に表示させることを特徴とする請求項5記載のカレンダー表示制御方法。
【請求項7】
祝日を表わす祝日情報を記憶するデータ記憶手段と、月日および休日の情報を表示する表示装置とを制御するコンピュータに、
前記データ記憶手段に記憶された前記祝日情報に基づいて振替休日を算出する第1休日演算機能と、
前記データ記憶手段に記憶された前記祝日情報に基づいて前日及び翌日が祝日であり且つ当日が祝日になっていない国民の休日を算出する第2休日演算機能と、
前記第1休日演算機能および前記第2休日演算機能により算出された前記振替休日および前記国民の休日を含んだ休日の情報を前記表示装置に表示させる休日表示制御機能と、
操作手段を介した外部からの操作指令の入力に基づいて前記データ記憶手段に記憶される前記祝日情報の追加、変化および削除を行うデータ変更機能と、
を実現させ、
前記第1休日演算機能と前記第2休日演算機能とは、前記データ変更機能により前記祝日情報の追加、変更又は削除が行われた場合に、追加、変更又は削除の後の前記祝日情報に基づいて前記振替休日と前記国民の休日とをそれぞれ算出することを特徴とするプログラム。
【請求項8】
前記データ変更機能は、
操作手段を介した外部からの操作指令の入力に基づき、前記データ記憶手段に記憶されているユーザ定義の休日を表わす個人休日情報を前記祝日情報と区別して追加、変更および削除可能とする機能を含み、
前記休日表示制御機能は、
前記個人休日情報の休日を含んだ休日の情報を前記表示装置に表示させることを特徴とする請求項7記載のプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate