我参与了代码以获得订阅开始日期&来自infusionsoft的结束日期,它以这种格式返回
开始日期= 20151217T00:00:00
结束日期= 20161217T00:00:00
我如何格式化为YYYY / MM / DD H:M:S?
以及' T '代表
答案 0 :(得分:0)
假设您在$startDate
和$endDate
变量中存储了当前的开始日期和结束日期......
$formattedStartDate = date("Y/m/d H:i:s", strtotime($startDate));
$formattedEndDate = date("Y/m/d H:i:s", strtotime($endDate));
这可以使用date()和strtotime()函数
就“T”而言......
请注意,“T”字面上会出现在字符串中,以表示 时间元素的开头,如ISO 8601中所述。
答案 1 :(得分:0)
您可以使用日期功能格式化时间。
date('YYYY/MM/DD H:M:S',strtotime('$date_value'));
答案 2 :(得分:0)
这将DateTime与createFromFormat函数一起使用。 有关详细信息,请单击here。
需要PHP 5> = 5.3.0,PHP 7
//infusionsoft format
$startDate = '20151217T00:00:00';
$endDate = '20161217T00:00:00';
//create DateTime object
$startDateTime = DateTime::createFromFormat('Ymd\TH:i:s', $startDate);
$endDateTime = DateTime::createFromFormat('Ymd\TH:i:s', $endDate);
//get DateTime with specified format
$newStartTime = $startDateTime->format('Y/m/d H:i:s');
$newEndTime = $endDateTime->format('Y/m/d H:i:s');
答案 3 :(得分:0)
根据ISO 8601标准, T 是日期和时间部分之间的分隔符。
请参阅:ISO 8601 standard, Wikipedia
您可以使用两种功能:
<强>的strtotime(DATE_TIME_STRING)强>
将日期/时间字符串转换为时间戳。
日期(格式,时间戳)
根据“格式”将时间戳格式化为字符串。
示例代码......
$so_string = '20151217T00:00:00';
$eo_string = '20161217T00:00:00';
$sd_stamp = strtotime($so_string);
$ed_stamp = strtotime($eo_string);
$f_datetime ='Y/m/d H:i:s';
echo 'Start date<br />';
echo ' original: ' . $so_string . '<br />';
echo ' timestamp: ' . $sd_stamp . '<br />';
echo ' formatted: ' . date($f_datetime,$sd_stamp) . '<br /><br />';
echo 'End date<br />';
echo ' original: ' . $eo_string . '<br />';
echo ' timestamp: ' . $ed_stamp. '<br />';
echo ' formatted: ' . date($f_datetime,$ed_stamp) . '<br />';
...将产生此输出:
Start date
original: 20151217T00:00:00
timestamp: 1450306800
formatted: 2015/12/17 00:00:00
End date
original: 20161217T00:00:00
timestamp: 1481929200
formatted: 2016/12/17 00:00:00