指定日時を各時間単位別に取得する関数
指定した日時を各時間単位別に取得する 8個の関数です。
①西暦年 ②西暦月 ③西暦日 ④西暦時間(時) ⑤西暦時間(分) ⑥西暦時間(秒) ⑦西暦曜日 ⑧本年の経過日数 の 8個があります。
現在のサーバー時間の各時間単位別の取得はこちらを参考にしてください。
データ型と構成・戻り値
int TimeYear(①); // 指定日時の西暦 年 (1970~3000年の範囲で取得可能)
int TimeMonth(①); // 指定日時の西暦 月
int TimeDay(①); // 指定日時の西暦 日
int TimeHour(①); // 指定日時の西暦 時間(時)
int TimeMinute(①); // 指定日時の西暦 時間(分)
int TimeSeconds(①); // 指定日時の西暦 時間(秒)
int TimeDayOfWeek(①); // 指定日時の西暦 曜日
int TimeDayOfYear(①); // 指定日時の年の経過日数
戻り値は、上記の各関数に対応したコメント内容が返されます。
DayOfWeek関数の曜日については 0~6の値が取得され、各曜日との対応は次のとおりになります。
0 = 日曜日
1 = 月曜日
2 = 火曜日
3 = 水曜日
4 = 木曜日
5 = 金曜日
6 = 土曜日
引数 [1]
これら関数のは 1個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | date | datetime | - | - | 1970/01/01 00:00:00 から経過した秒数としての日時。 |
①の引数は、1970年1月1日以降の秒数で表示するようになっていますが、通常の使用では使いにくいので「(datetime)”2000.01.01 00:00:00″」のようにキャストして使うのが一般的です。
使用例
指定した日時の各時間単位の取得
指定した日時の各時間単位を取得します。
取得する時間単位は、
①西暦年 ②西暦月 ③西暦日 ④西暦時間(時) ⑤西暦時間(分) ⑥西暦時間(秒) ⑦西暦曜日 ⑧本年の経過日数 の 8個です。
コード
// 指定した日時の各時間単位の取得
#property strict
void OnInit() {
datetime dt = (datetime)"2023.03.21 12:34:56"; // 指定日時
string week; // 取得される0~6の値を曜日にします
if(TimeDayOfWeek(dt)==0) {
week = "日";
} else if(TimeDayOfWeek(dt)==1) {
week = "月";
} else if(TimeDayOfWeek(dt)==2) {
week = "火";
} else if(TimeDayOfWeek(dt)==3) {
week = "水";
} else if(TimeDayOfWeek(dt)==4) {
week = "木";
} else if(TimeDayOfWeek(dt)==5) {
week = "金";
} else {
week = "土";
}
Print("①指定日時の西暦年 :", TimeYear(dt), "年");
Print("②指定日時の西暦月 :", TimeMonth(dt), "月");
Print("③指定日時の西暦日 :", TimeDay(dt), "日");
Print("④指定日時の西暦時間 :", TimeHour(dt), "時間");
Print("⑤指定日時の西暦時間分 :", TimeMinute(dt), "分");
Print("⑥指定日時の西暦時間秒 :", TimeSeconds(dt), "秒");
Print("⑦指定日時の西暦曜日 :", week, "曜日");
Print("⑧指定日時の年の経過日数:", TimeDayOfYear(dt), "日");
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)