|
<< Click to Display Table of Contents >> 相対時刻書式 |
相対時刻書式
相対時刻書式とは、現在の時刻を起点として1日後や1時間後などの日時を相対的に指定するための書式です。
例)現在が「2016/01/15 12:12:12」(金曜)の場合
now |
現在を指します。 |
「2016/01/15 12:12:12」 |
now-1d |
現在-1日を指します。 |
「2016/01/14 12:12:12」 |
now+1d |
現在+1日を指します。 |
「2016/01/16 12:12:12」 |
now-1mo |
現在-1ヶ月を指します。 |
「2015/12/15 12:12:12」 |
month |
今月の頭を指します。 |
「2016/01/01 00:00:00」 |
month-1d |
先月の末日を指します。 |
「2015/12/31 00:00:00」 |
month-1d+9h |
先月の末日の朝9時を指します。 |
「2015/12/31 09:00:00」 |
day-1d |
昨日を指します。 |
「2016/01/14 00:00:00」 |
day+8h+30m |
今日の8時30分を指します。 |
「2016/01/15 08:30:00」 |
week+2d |
今週の火曜日を指します。 |
「2016/01/12 00:00:00」 |
相対時刻のフォーマットは以下のとおりです。尚、アルファベットの大文字、小文字は、特に区別されません。
基準時刻[+時間間隔] [-時間間隔]… |
上記の基準時刻の部分には、以下の書式を指定することができます。
基準時刻 |
説明 |
現在が「2016/06/15 12:12:12」(水曜)とすると |
now |
現在。 |
2016/06/15 12:12:12 |
year |
今年。 |
2016/01/01 00:00:00 |
month |
今月。 |
2016/06/01 00:00:00 |
week |
今週。 |
2016/06/12 00:00:00 |
day |
今日。 |
2016/06/15 00:00:00 |
hour |
今の時刻(時まで有効)。 |
2016/06/15 12:00:00 |
minute |
今の時刻(分まで有効)。 |
2016/06/15 12:12:00 |
future |
未来。 |
はるか未来の時刻。 |
past |
過去。 |
はるか過去の時刻。 |
また、時間間隔の先頭には必ず「+」又は「-」のいずれかの符号のあとに数値を指定します。「+」であれば未来へ、「-」であれば過去になります。例えば「+10m」であれば基準時刻から10分後を指します。
時間間隔 |
説明 |
|---|---|
y |
年 |
d |
日 |
mo |
月 |
w |
週 |
h |
時 |
m |
分 |
s |
秒 |
|
現在が31日の場合、NOWに対して月の引き算を含めた相対時刻(例 NOW-1MO等)を使用できません。31日の1ヶ月前が30日までしかない月の場合、該当する日が存在しないためエラーが発生しますので注意してください。 |
|
SC2で相対時刻書式で時刻型の値を変数に代入したい場合は、以下のように指定します。 例) var a = #now#; //現在が2016/06/15 12:12:12の場合、時刻型#2016/06/15 12:12:12# が代入される。 var b = #now+1d#; //現在が2016/06/15 12:12:12の場合、時刻型#2016/06/16 12:12:12# が代入される。 |
|
ルートメソッド「GetRelativeTime」は、ある特定の時刻(現在の時刻ではなく、指定した時刻)を基準に、相対時刻を求めることができます。
例1)結果は「2002/10/9 10:10:10」になります。
var a = ::GetRelativeTime(::CTime("2002/10/10 10:10:10"), "now-1d");
例2)結果は「2002/10/9 0:0:0」になります。
var a = ::GetRelativeTime(::CTime("2002/10/10 10:10:10"), "day-1d");
|