【发布时间】:2016-05-09 10:34:47
【问题描述】:
所以我有一个bootstrap 3 表单,其中有一个clockpicker 和一个datepicker 插件。我通过 PHP 获取所有数据并尝试插入MySQL(目前在 XAMPP 中)。有时 INSERT 没问题,但有时 DB 中的一个或两个 Timestamp 字段留在 0000....
由于我像17/09/2016 一样显示日期,但我尝试在 MySQL 中像 2016-17-09 一样保存它,我必须将时钟选择器中的文本连接到日期选择器中的文本,我这样做:
$startDate = $_POST['shiftStartDate'] . " " . $_POST['shiftStartTime'];
$startDateFormat = str_replace('/', '-', $startDate);
$date1 = date_create($startDateFormat);
$dateTime1 = date_format($date1, 'Y-d-m H:i:s');
$endDate = $_POST['shiftEndDate'] . " " . $_POST['shiftEndTime'];
$endDateFormat = str_replace('/', '-', $endDate);
$date2 = date_create($endDateFormat);
$dateTime2 = date_format($date2, 'Y-d-m H:i:s');
有什么想法吗?
解决方案: 格式化时,符合 MySQL 的 Y-m-d 要求,而不是 Y-d-m:
$dateTime2 = date_format($date2, 'Y-m-d H:i:s');
【问题讨论】:
-
为什么要将其保存为
2016-17-19而不是后者,究竟是什么? -
@CaelanGrgurovic 你选的日期很有趣??哪个日历在
-
很可能是因为它是有效的 MySQL 数据格式 (YYYY-MM-DD)。无论如何 - 当格式不是有效的日期格式时会发生这种情况 - 所以 MySQL 不知道如何处理它。尝试在插入之前回显
$dateTime1和$dateTime2,并确保它始终采用您期望的格式。另外 - 没有像 2016-17-09 这样的日期(日历中只有 12 个月 :)) -
@RiggsFolly ahaha *09
-
@CaelanGrgurovic 呵呵就是这个
标签: php mysql twitter-bootstrap datetime insert