У меня есть функция, которая получает мой относительный DateTime и выводит его в формате YYYY-MM-DDTHH:MM:SS.UUUUU
.
function mb_datetime( $mb_input_time = null, $mb_timezone = null ) {
$mb_timezone_local = get_option('timezone_string');
$mb_timezone_new = ( empty($mb_timezone) ? $mb_timezone_local : $mb_timezone );
$mb_timezone_format = ( $mb_timezone == 'UTC' ? 'Y-m-d\TH:i:s.u\Z' : 'Y-m-d\TH:i:s.u' );
$mb_datetime_get = new DateTime($mb_input_time, new DateTimeZone($mb_timezone_local));
$mb_datetime_get->setTimeZone( new DateTimeZone($mb_timezone_new) );
$mb_datetime_get = $mb_datetime_get->format($mb_timezone_format);
return $mb_datetime_get;
}
У меня также есть функция, которая я пытаюсь использовать вышеупомянутую функцию, чтобы увидеть, нужно ли мне сгенерировать новый токен доступа или использовать сохраненный, потому что он еще не истек:
function mb_microsoft_opengraph() {
if( strtotime(get_option('mb_msgraph_token_expire')) < strtotime(mb_datetime('now')) ) {
// do if mb_msgraph_token_expire date/time has passed
}
}
Я также пробовал оператор if без strtotime
, но я знаю, что он должен работать.
Мои форматы времени на момент публикации:
mb_msgraph_token_expire = 2019-05-10T16:17:57.880819
now = 2019-05-14T11:40:10.611465
Кто-нибудь может увидеть, что я делаю не так?