この度は、本ソフトウェアをご使用して頂き、ありがとうございます。 '---------------------------------------------------------------------- 【ソ フ ト名】 日付関数 【バージョン】 v1.032 【ソフト種別】 フリーソフト 【動作可能OS】 Windows 95/98/ME/NT/2000/XP 【必要なもの】 ブラウザでJavaScript有効 【開発 言語】 JavaScript 【掲 載 日】 2003/08/24 【著 作 権】 Copyright (C) 2003 WinArrow 【U R L】 http://ww.mhl.janis.or.jp/~winarrow/ 【電子メール】 winarrow@mhl.janis.or.jp '---------------------------------------------------------------------- ★ソフト紹介 ・JavaScriptで、日付の加算、指定期間の年数,月数、月末日、日付形式チェックを行う  ための関数集です。 ・なお、フォームデータの取扱いには、JavaScriptの知識が必要です。 ・機能紹介  DateAdd : 基準日の過去日、未来日を求める。加算単位は、年、月、日の指定が可能。 EDate : 基準日の月末日を求める。  DateDif : 期間の月数などを求める。単位は、万年数、万月数、日数、万年月数  ValidDate : データの形式が日付形式か調べる。戻り値:true/false  WorkdayAdd: 休日を考慮して、基準日の過去日、未来日を求める。        休日は、曜日と祭日等の日付が指定できます。  NthYDate : 指定月の第n何曜日の日を求める。 ◆インストール方法 ダウンロードしたファイルを解凍して、任意のフォルダにJavaScriptファイル(datefunc.js)を 格納してください。 ◆アンインストール方法 当該ファイルを削除するだけです。 ■その他 《使用方法》 (1)この関数を使用するページ作成方法 ・〜の間に、datefunc.jsを組込んでください。 「組込例」 (2)関数の使用方法 【日付の加算】 形式:DateAdd(flg,n,date,fmt) パラメータの説明: flg : 加算単位   "y":年の加算   "m":月の加算 "d":日の加算 n : 加算数値(未来加算は正数、過去加算は負数) date : 基準日(文字属性、当日は、"") fmt : 戻り値の形式("yyyy/m/d","yyyy/mm/dd","yyyymmdd") ※加算単位が"y","m"で、求めた日がカレンダー上存在しない日の場合は、当該月の月末日が戻り値にセットされています。(閏年にも対応)  例 3月31日の1ヵ月後==>4月30日 ※実際の使用例(ソフトのリリース後10日間だけ、new.gif または、up.gifを表示しています) ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃function NewUp(ymd,k){ ┃// ymd : リリース日 ┃// k : 種別 "new":新規 "up":変更 ┃// ┃ var yukoday = new Date(DateAdd("d",10,ymd,"yyyy/mm/dd")); ┃ var wtoday = new Date(); ┃ if (yukoday.getTime() > wtoday.getTime()){ ┃ document.write(""); ┃ }else{ ┃ document.write(" "); ┃ } ┃} ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【月末日の取得】 形式:EDate(date,fmt) パラメータの説明: date : 基準日(文字属性、当日は、"") fmt : 戻り値の形式("yyyy/m/d","yyyy/mm/dd","yyyymmdd") 【指定期間の万月数などの取得】 形式:DateDif(flg,dateFM,dateTO) パラメータの説明: flg : 単位   "y":万年数   "m":万月数 "d":日数 "ym":万年月 dateFM : 開始日(当日は、"") dateFM : 終了日(当日は、"") 戻り値 flg="ym"のとき 整数部:万年数:小数部:万月数 【日付形式のチェック】 形式:ValidDate(strdate) パラメータの説明: strdate 文字形式の日付 "yyyy/mm/dd"形式のみ 戻り値 true 正常 false 異常   【休日を考慮した日付の加算】 形式:WorkdayAdd(n,date,yobi,saijitsu) パラメータの説明:         n 加算日数(未来日は正数、過去は負数で指定します) date   文字形式の日付 "yyyy/m/d" or "yyyy/mm/dd" 当日:""             yobi 休日を曜日で指定します。                  "0":日 "1":月 "2":火 "3":水 "4":木 "5":金 "6":土                  2つ以上の場合は「,」で区切って指定します。 saijitsu 祭日等の特別休日を指定します。"yyyy/m/d" or "yyyy/mm/dd"                  2つ以上の場合は「,」で区切って指定します。 戻り値  日付 "yyyy/mm/dd"形式です。 例。saijitsu = "2003/1/1,2003/1/13,2003/2/11,・・・・")   配達日 = WorkdayAdd(3,注文日,"0,6",saijitsu) //注文日の3日後の配達日を求める。 ※祭日データを作成するExcelプログラムをご希望により提供します。 【当該月の第n何曜日の日を求める】 形式 : NthYDate(date,n,y) date:対象日(文字形式:"yyyy/m/d" or "yyyy/mm/dd") n :第n週目 y :曜日(0,1,2,3,4,5,6・・数値は日月火水木金土の意味) 使い方:(例) 当月の第2火曜日の日を求める場合 var today = new Date(); var yyyy = today.getFullYear(); var mm = today.getMonth()+1; var dd = today.getDate(); var n = 2; //第2を指定 var y = 2; //火曜日を指定 var yobi = new Array("日","月","火","水","木","金","土"); document.write(yyyy + "年" + mm + "月の第 "); document.write(n + " " + yobi[y] + "曜日は、"); document.write(NthYDate(yyyy + "/" + mm + "/" + dd,n,y) + "日です"); 《免責》 ・本ソフトを使用したことで異常が発生したとしても、作成者には一切責任ありません。 ・ご使用者の判断と責任でご利用をお願いします。 《著作権》 ・本ソフトはフリーソフトですが、著作権は、WinArrowにあります。  雑誌、ホームページ等に掲載する場合は、ご一報をお願いいたします。   Copyright(c) 2005 WinArrow All rights reserved. 《連絡先》 ・ご意見ご要望は次のメールアドレスまでお願い致します。   mailto:WinArrow@mhl.janis.or.jp ご連絡頂く時には、 (1)ソフト名・バージョン (2)ダウンロードサイト名または雑誌名/号版 を明記いただくようお願い致します。 履歴 ==== 2003.08.24 V1.000 新規作成 2003.08.26 V1.010 「休日を考慮した日付の加算(WorkdayAdd())を追加しました。 2003.08.27 V1.020 「当該月の第n何曜日の日を求める」(getNthYDate())を追加しました。 2003.09.03 V1.030 WorkdayAddの加算日数=0の時の無限ループを回避しました。 2005.07.20 V1.031 12月の月末日を求める処理の不具合を修正しました。 2005.11.15 V1.032 形式(yyyymmdd)処理と翌年度の月数計算の不具合を修正しました。