相対時刻書式

<< Click to Display Table of Contents >>

マニュアル > Appendix > 日時書式 >

相対時刻書式

相対時刻書式

相対時刻書式とは、現在の時刻を起点として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

 

 

attention

現在が31日の場合、NOWに対して月の引き算を含めた相対時刻(例 NOW-1MO等)を使用できません。31日の1ヶ月前が30日までしかない月の場合、該当する日が存在しないためエラーが発生しますので注意してください。

 

hint

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# が代入される。

 

hint

ルートメソッド「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");