【MQL4テクニック】指定した日時の「日付」や「分」だけを取り出す方法
datetime型のデータから、必要な情報のみを取り出す方法をご紹介します。
日付時刻の取得方法
こちらの記事を参考にしてください。
「日付」や「分」のみを取り出す方法
datetime time = D'2021.04.06 12:34:56';
//年を取り出す
int year = TimeYear(time);
//結果 2021
//月を取り出す
int month = TimeMonth(time);
//結果 4
//日を取り出す
int day = TimeDay(time);
//結果 6
//時を取り出す
int hour = TimeHour(time);
//結果 12
//分を取り出す
int minute = TimeMinute(time);
//結果 34
//秒を取り出す
int second = TimeSeconds(time);
//結果 56
Time○○関数では、datetime型の日付データから必要な情報のみを取り出すことが出来ます。
戻り値はint型であることを注意してください。
hh:mi:ssなどの形式で取り出す方法
TimeToString関数を使用する
TimeToString関数では、datetime型の日付データを任意の文字列として取り出すことが出来ます。
string TimeToString(datetime value, int mode);
引数の意味は以下です。
引数名 | 詳細 |
---|---|
value | 切り出し元である、datetime型のデータを指定します。 |
mode | 出力フォーマットを指定します。 ・TIME_DATE:「yyyy.mm.dd」フォーマットで出力 ・TIME_MINUTES:「hh:mi」フォーマットで出力 ・TIME_SECONDS:「hh:mi:ss」フォーマットで出力 省略した場合は"「yyyy.mm.dd hh:mi」フォーマットで出力します |
コード例
datetime time = D'2021.04.06 12:34:56';
//yyyy.mm.dd形式で取り出す
string timeDate = TimeToString(time,TIME_DATE);
//結果 2021,04,06
//hh:mi形式で取り出す
string timeMinutes = TimeToString(time,TIME_MINUTES);
//結果 12:34
//hh:mi:ss形式で取り出す
string timeSeconds = TimeToString(time,TIME_SECONDS);
//結果 12:34:56