日付と時刻

日付と時刻の用法を学びます。

Clock() 関数

文法:

Clock() ---> プログラム開始時からのクロック・ティック数

用例:

See "Calculate performance" + nl
t1 = clock()
for x = 1 to 1000000 next
see clock() - t1

ClocksPerSecond() 関数

一秒あたりのクロック数を返します。

文法:

clockspersecond() ---> 一秒あたりのクロック数

用例:

# 1 秒待つ
t = clock()
while clock() - t <= clockspersecond() end

Time() 関数

Time() 関数はシステムの時刻を取得します。

用例:

See "Time : " + time()

Date() 関数

Date() 関数は日付を取得します。

文法:

Date() ---> 文字列は "日/月/西暦" 表記による日付表記です。

用例:

See "Date : " + date()  # 日付 : 24/05/2015

TimeList() 関数

TimeList() 関数は日付と時刻の情報を表示します。

文法:

TimeList() ---> リストは時刻と日時の情報を有しています。

この表はリストの項目です。

インデックス
1 略式による週の名前
2 正式による週の名前
3 略式による月の名前
4 正式による月の名前
5 日付と時刻
6 今月の経過日数
7 時間 (24 時間制)
8 時間 (12 時間制)
9 今年の経過日数
10 今年の経過週数
11 今時の経過分数
12 AM (午前) または PM (午後)
13 今分の経過秒数
14 今年の経過週数 (日~土)
15 今週の経過日数
16 日付
17 時刻
18 世紀による年の表記
19 西暦
20 タイムゾーン
21 パーセント記号

用例:

## 実行結果:
## Sun                  略式による週の名前
## Sunday               正式による週の名前
## May                  略式による月の名前
## May                  正式による月の名前
## 05/24/15 09:58:38    日付と時刻
## 24                   今月の経過日数
## 09                   時間 (24 時間制)
## 09                   時間 (12 時間制)
## 144                  今年の経過日数
## 05                   今年の経過週数
## 58                   今時の経過分数
## AM                   AM (午前) または PM (午後)
## 38                   今分の経過秒数
## 21                   今年の経過週数 (日~土)
## 0                    今週の経過日数
## 05/24/15             日付
## 09:58:38             日時
## 15                   世紀による年表記
## 2015                 西暦
## 東京 (標準時)        タイムゾーン (結果は OS, 言語、地域に依存)
## %                    パーセント記号

See TimeList()

用例:

See "Day Name : " + TimeList()[2]       # Sunday

用例:

See "Month Name : " + TimeList()[4]     # May

AddDays() 関数

文法:

AddDays(cDate,nDays) ---> cDate から  nDays 後の日付です。

用例:

cDate = date()
see cDate + nl                  # 24/05/2015
cDate = adddays(cDate,10)
see cDate + nl                  # 03/06/2015

DiffDays() 関数

文法:

DiffDays(cDate1,cDate2) ---> 日数 (Date1 - Date2)

用例:

cDate1 = date()
see cDate1 + nl                                         # 24/05/2015
cDate2 = adddays(cDate1,10)
see cDate2 + nl                                         # 03/06/2015
see "DiffDays = " + diffdays(cDate1,cDate2) + nl        # -10
see "DiffDays = " + diffdays(cDate2,cDate1) + nl        # 10

EpochTime() 関数

文法:

EpochTime( cDate, cTime ) ---> エポック秒

用例:

###-------------------------------------------------------------
# EpochTime()
# 用例    ---   EpochSec = EpochTime( Date(), Time() )
# 呼び出し形式: EpochSec = EpochTime( "15/07/2016", "10:15:30" )
#               EpochSec = 1468577730
#---------------------------------------------------------------

Func EpochTime(Date, Time)

    arrayDate = split(Date, "/")
    arrayTime = split(Time, ":")

    Year = arrayDate[3] ; Month  = arrayDate[2] ; Day    = arrayDate[1]
    Hour = arrayTime[1] ; Minute = arrayTime[2] ; Second = arrayTime[3]

    cDate1    = Day +"/"+ Month +"/"+ Year
    cDate2    = "01/01/" + Year
    DayOfYear = DiffDays( cDate1, cDate2)

    ### 数式
    tm_sec  = Second    * 1
    tm_min  = Minute    * 60
    tm_hour = Hour      * 3600
    tm_yday = DayOfYear * 86400
    tm_year = Year      - 1900

    tm_year1 =         ( tm_year -  70)          * 31536000
    tm_year2 = ( floor(( tm_year -  69) /   4 )) * 86400
    tm_year3 = ( floor(( tm_year -   1) / 100 )) * 86400
    tm_year4 = ( floor(( tm_year + 299) / 400 )) * 86400

    ### 結果
    EpochSec = tm_sec + tm_min + tm_hour + tm_yday + tm_year1 + tm_year2 - tm_year3 + tm_year4

return EpochSec