【MQL4テクニック】指定した日時の「日付」や「分」だけを取り出す方法

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型であることを注意してください。

あなたのやりたいことがきっと見つかる!
MQL4テクニック 逆引き集 はこちら

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
POINT

こちらの記事で悩みが解決されない場合は、
MQL4 User Community に参加してお気軽にご質問ください。

MQL4初心者の方や開発に行き詰った方の悩みを、 様々なソフトウェアやツールを開発してきた経験豊富なエンジニアたちが解決いたします。