我将日期和时间存储为字符串,格式为“2016年7月18日12:00”在mysql数据库中。
我在我的网站上使用wordpress,这个日期是 meta_key 的帖子。
我需要将它们从字符串转换为日期和时间。
strtotime()函数无法正常使用此格式。另外,我想要分享月份和日期。
我还试过echo date( 'format', strtotime("18 July, 2013 12:00")
它给出了01/01/1970输出
答案 0 :(得分:1)
我认为它不起作用的原因是因为STR_TO_DATE()
传递的格式无效。试试这个,
SELECT STR_TO_DATE(yourColumn, '%d %M, %Y %H:%s') newDateTime
FROM tableName
但是如果要分隔月份和日期,结果值将是月份字符串。
SELECT DATE_FORMAT((STR_TO_DATE(yourColumn, '%d %M, %Y %H:%s'), '%M') month,
DATE(STR_TO_DATE(yourColumn, '%d %M, %Y %H:%s')) dateOnly
FROM tableName
FROM tableName
答案 1 :(得分:0)
$raw_date=str_replace(',', '', "18 July 2013 12:00");// Or get it from Database
$month=date('m', strtotime($raw_date));
$date=date('d', strtotime($raw_date));
答案 2 :(得分:0)
如果删除字符串中的逗号,则可以启动新的DateTime
对象。
看一下下面的例子:
$string = str_replace(',', '', '18 July 2013 12:00');
$DateTime = new DateTime($string);
print_r($DateTime);
这将输出:
DateTime Object
(
[date] => 2013-07-18 12:00:00
[timezone_type] => 3
[timezone] => Europe/Amsterdam
)