我想在sql中存储php日期,但它存储的是1970-01-01 05:00:而不是输入日期时间。
这是html表单
<input type="datetime" id="eventstart" name="txtEventStart" class="form-control" value="<?php echo date('m/Y/d h:i:s');?>">使用post发送数据时
$date = $this->input->post('txtEventStart');我使用以下方法将字符串格式转换为日期格式:
$date2 = date('Y-m-d H:i:s', strtotime($date));它存储'1970-01-01 05:00:00'
我想知道存储这类日期的正确格式是什么。
发布于 2019-08-20 00:28:01
您的代码给出了错误的结果,因为您的日期格式(m/Y/d h:i:s)没有被strtotime识别。相反,使用date_create_from_format来转换它并以正确的格式输出日期。例如:
$date = '08/2019/19 10:23:41';
echo date('Y-m-d H:i:s', strtotime($date)) . PHP_EOL;
echo date_create_from_format('m/Y/d h:i:s', $date)->format('Y-m-d H:i:s');输出:
1970-01-01 01:00:00
2019-08-19 10:23:41发布于 2019-08-19 23:51:31
‘’YYYY mm-DD:mm:ss‘是PHP日期函数不可接受的格式.用Y-m-d H:i:s代替.更多信息在这里:date.asp
更新:对于日期输入字段,使用ISO日期格式Y-m-d或将输入类型更改为“text”
https://stackoverflow.com/questions/57565134
复制相似问题