Web production note

 【更新日 :

【WordPress】現在の日付を正確に取得する

Category:
WordPress

※WordPress 5.3以降では日付の仕様がアップグレードされたため、ACFなどで以前までの手法を用いると取得する日付が1日ずれてしまうことがあります。

WordPress 5.3以降

以前まで利用していた「date_default_timezone_set($timezone_string);」を省くだけです。
WordPressのタイムゾーンをそのまま指定する事で取得できるようになりました。

//get timezone
$timezone_string = get_option('timezone_string');

//get now date time
$now_date = new DateTime('', new DateTimeZone($timezone_string));

//set date
$set_now_date_time = $now_date->format('Y/m/d');

WordPress 5.3未満

WordPress 5.3未満で現在の日付を正確に取得するには、タイムゾーンを取得し設定した後に日付を取得する必要があります。

//get timezone
$timezone_string = get_option('timezone_string');
			
//set timezone
date_default_timezone_set($timezone_string);
			
//get now date time
$now_date = new DateTime('', new DateTimeZone($timezone_string));

//set date
$set_now_date_time = $now_date->format('Y/m/d');

参考リンク