我正在使用SparkPost API,并且无法理解如何使用YYYY-MM-DDTHH创建日期:MM :PHP中的SS + -HH:MM。在PHP中创建此日期格式:YYYY-MM-DDTHH:MM:SS + -HH:MM
什么是+ -HH:MM,是时区?
我来自审查其他类似的堆栈交流主题最接近的是这样的:
if (!$send_now && self::$row->datetime)
{
// This data is available: [send_datetime] => 04/01/2016 01:30
// This data is available: [timezone] => MDT-UTC-7
$send_at = date('Y-m-dTH:i:s' , strtotime(self::$row->datetime));
}
else
{
$send_at = 'now';
}
另一个FYI就是我与WordPress的工作,将要定位的实例设置为的时区。
任何帮助表示赞赏。
那的工作
if (!$send_now && self::$row->datetime) {
$send_at = date('c' , strtotime(self::$row->datetime));
if (isset(self::$email_settings['timezone'])) {
$date_parts = explode('+' , $send_at);
$timezone_parts = explode('UTC' , self::$email_settings['timezone']);
$send_at = $date_parts[0] .$timezone_parts[1].':00';
}
} else {
$send_at = 'now';
}
有没有窍门,正确地设置时区时,所有的我都像“MDT-UTC-7”(串我相信那是Mountain Time)和'CDT-UTC-5'for Central? 我可以解析字符串的最后部分,但PHP安装程序来解释这些速记字符串? – atwellpub
您可以使用'timezone_name_from_abbr'来获取使用全部或部分字符串的时区,如'$ timezone = timezone_name_from_abbr('CDT-UTC-5')'。您可能需要解析出前三个字母,例如CDT。然后,您可以在创建日期时传递时区,例如'$ date = new DateTime('04/01/2016 01:30',new DateTimeZone($ timezone));'。然后使用'$ date-> format('c')'输出为ISO 8601。 – Michael