日付と時刻¶
日付と時刻の用法を学びます。
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
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