指定日時を各時間単位別に取得する関数

関数

日時関数

指定日時を各時間単位別に取得する関数

指定した日時を各時間単位別に取得する 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個の引数で構成されます。


引数名データ型単位初期値説明
datedatetime1970/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), "日");
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました