什么是正确的格式传递给日期()函数在PHP中,如果我想将结果插入到一个MySQL datetime类型列?
我一直在尝试date('Y-M-D G: I:s'),但每次都只是插入“0000-00-00 00:00:00”。
什么是正确的格式传递给日期()函数在PHP中,如果我想将结果插入到一个MySQL datetime类型列?
我一直在尝试date('Y-M-D G: I:s'),但每次都只是插入“0000-00-00 00:00:00”。
当前回答
格式化MySQL DATETIME列的时间戳:
strftime('%Y-%m-%d %H:%M:%S',$timestamp);
其他回答
这是一种更准确的方法。它把小数放在秒的后面,以提高精度。
$now = date('Y-m-d\TH:i:s.uP', time());
注意。up。
更多信息:https://stackoverflow.com/a/6153162/8662476
$date_old = '23-5-2016 23:15:23';
//Date for database
$date_for_database = date ('Y-m-d H:i:s'", strtotime($date_old));
//Format should be like 'Y-m-d H:i:s'`enter code here`
问题是,你正在使用'M'和'D',这是一个文本表示,MySQL期望一个数字表示的格式2010-02-06 19:30:13
试试:date('Y-m-d H:i:s'),它使用了数字等量。
edit:将G切换为H,虽然它可能没有影响,但你可能想使用24小时格式,前导0。
用PHP格式化MySQL datetime
$date = "'".date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $_POST['date'])))."'";
格式化MySQL DATETIME列的时间戳:
strftime('%Y-%m-%d %H:%M:%S',$timestamp);