我想将 MySQL 时间戳转换为 Amplify by PHP 中使用的 AWSDateTime 格式,而不需要在应用程序代码中硬编码该格式。
来自
MySQL:
2021-12-16 09:19:05
到
AWS日期时间:
2021-12-16T09:19:05.000Z
使用 Laravel 使用的 Carbon,就可以了。
Carbon::parse('2021-12-16 09:19:05', 'UTC')->toIso8601ZuluString("millisecond");
parse
方法的第二个参数是2021-12-16 09:19:05
所表达的时区。
例如,您可以将值拆分为数据和时间并使用 spritf:
<?php
// split string to data & time array
$date_time = explode(' ', '2021-12-16 09:19:05');
// format new datetime string
$AWSDateTime = sprintf("%sT%s.000Z", $datetime[0], $datetime[1]);
echo $AWSDateTime;
另一种方式(使用日期格式):
$date = date_create('2021-12-16 09:19:05');
echo date_format($date, 'Y-m-d\TH:i:s.000\Z');