本ページには広告が含まれています。
公開日:
更新日:
指定された2つの日付の時間間隔を返します。
- 構文
- dateDiff( interval, date1, date2 )
- 引数
- interval 必須
- 時間単位(yyyy︰年、q:四半期、m︰月、d︰日、w:週日、ww:週、h:時、n:分、s:秒)
- date1 必須
- 日時1
- date2 必須
- 日時2
- 戻り値
- date2からdate1を引いた時間間隔を求めます。
プログラム
解説
- 2行目
- date1の年、date2の年、date1の月、date2の月、date1の日、date2の日、戻り値。
- 3-4,10,18,26,30,32,35,37,39,41行目
- intervalの値によって分岐。yyyy(年)なら4行目>>>、q(四半期)なら10行目>>>、m(月)なら18行目>>>、d(日)なら26行目>>>、w(週日)なら30行目>>>、ww(週)なら32行目>>>、h(時)なら35行目>>>、n(分)なら37行目>>>、s(秒)なら39行目>>>。
- 4-9行目
- date1の年をy1に、date2の年をy2に代入。y2-y1で差を計算。
- 10-17行目
- 四半期を求める。月を3で割り切り上げることで、その月四半期を求めることができる。
- 18-25行目
- date1の年をy1、月をm1、date2の年をy2、月をm2に代入。(y2-y1)×12とm2-m1の和で差を計算。
- 26-29行目
- GETTIME関数でdate1、date2のUWSC時間を取得する。GETTIMEの戻り値の単位は秒なので、d2-d1を86400で割ることで日単位にします。
- 30-31行目
- date1とdate2の間隔を日単位で求め、7で割り週単位にする。
- 32-34行目
- date1から曜日番号を引くことでその週の週開始日(日曜日)を求めdate1に代入。date1とdate2の間隔を日単位で求め7で割る。
- 35-36行目
- date1とdate2の間隔を日単位で求め、24を掛けて時間単位にする。
- 37-38行目
- date1とdate2の間隔を日単位で求め、1440(=24*60)を掛けて分単位にする。
- 39-40行目
- date1とdate2の間隔を日単位で求め、86400(=24*60*60)を掛けて秒単位にする。
- 42行目
- 変数dを戻り値として返す。
使い方
- 結果
プログラム実行例
今年何パーセント終わった?
現在時刻時点で今年の何%が終わったのかをリアルタイムで確認できます。現在時刻、経過割合、残り日数を吹き出しに表示します。更新間隔は1秒です。
結果
使用関数
今月の残りの日数を返す
今日の日付から今月末までの日数の差を計算します。
明日から月末までの日数です。
使用関数
関連記事
- GETTIME関数 (スクリプト関数)
- 日付、時間を取得します。
- getWeekdayName関数 (自作関数)
- 引数で指定した曜日番号に対応する曜日名を返します。
- getYear関数 (自作関数)
- 指定された日付の年を返します。
- getMonth関数 (自作関数)
- 指定された日付の月を返します。
- getDay関数 (自作関数)
- 指定された日付の日を返します。
- getWeekday関数 (自作関数)
- 引数に指定された日付の曜日番号(0:日曜〜6:土曜)を返します。
- getEndOfMonth関数 (自作関数)
- dateで指定された月の月末日を取得します。
- today関数 (自作関数)
- 今日の日付を返します。
- dateString関数 (自作関数)
- 指定された日付を西暦から和暦に変換します。
- dateValue関数 (自作関数)
- 日付形式の文字列をシリアル値に変換します。
