使用 php date() 为 Woocommerce 转换奇怪的时间戳

bla*_*l24 4 php wordpress datetime timestamp woocommerce

有问题的时间戳2018-02-08T09:51:54+00:00

我使用 SendinBlue woocommerce 插件发送我的商店电子邮件并处理模板,但是在插入订单日期时,该插件通过以下方式获取$order->get_date_created()

问题是使用日期时出现调试错误

date() expects parameter 2 to be integer

我假设这是因为T,+:?

我仍然不确定是否有我错过的格式化日期的 woocommerce 技巧,或者这是否是 SendinBlue 插件正在做的事情?

任何帮助表示赞赏。

谢谢

Loi*_*tec 6

两种类似的方式:

1) 使用 Woocommerce:

WC_Order get_date_created()方法返回一个WC_Datetime对象。您可以使用以下WC_Datetime date()方法重新格式化它:

// Using '2018-02-08T09:51:54+00:00' timestamp
echo $order->get_date_created()->date('Y-m-d H:i:s');
Run Code Online (Sandbox Code Playgroud)

并会显示:2018-02-08 09:51:54


2)使用PHP:

或者,您可以使用strtotime()PHPdate()函数内的函数,使用可用的PHPdate()格式化参数来重新格式化任何“奇怪”的时间戳。例如:

$timestamp = $order->get_date_created(); // Using '2018-02-08T09:51:54+00:00' timestamp
echo date('Y-m-d H:i:s', strtotime($timestamp));
Run Code Online (Sandbox Code Playgroud)

还将显示:2018-02-08 09:51:54