我的日期格式如下
31st of August 2014 Sun
使用$cursor->format("jS \of F Y D");
,但如何将现有时间转换为Ymd
,以便输出为20140831
我尝试过echo date("Y-m-d", strtotime(31st of August 2014 Sun));
并且我不知道为什么输出显示为1970年1月1日这很奇怪。
我也试过
echo contime('1st of August 2013 Sun');
function contime($gettime) {
$fetch_date = strtotime($gettime);
$date = new DateTime('');
return $date->format('Ymd');
}
但这是今天的回归。
还尝试了Convert one date format into another in PHP
$old_date = date('1st of August 2013 Sun'); //date('l, F d y h:i:s'); // returns Saturday, January 30 10 02:06:34
$old_date_timestamp = strtotime($old_date);
$new_date = date('Y-m-d H:i:s', $old_date_timestamp);
echo $new_date;
但是它的打印1970-01-01 00:00:00
答案 0 :(得分:3)
<?php
$date = DateTime::createFromFormat("jS \of F Y D", '31st of August 2014 Sun');
echo $date->format('Ymd');
但请注意,字符串必须正确,在您的示例中:
'1st of August 2013 Sun'
2013年8月1日不是星期日,它是星期日,如果数据集中的天数名称不正确,则应删除它们。
答案 1 :(得分:1)
您应该将时间分为日月分钟和秒(您需要将月份变为数字),然后您应该可以使用mktime:
echo date("Y-m-d", mktime($hour, $minute, $second, $month, $day, $year));