对此非常难过,
我有一个文本输入字段,允许用户使用 jquery 的日期选择器和时间选择器插件插入日期和时间。当用户关闭日历以插入日期时,它会在文本字段中输入:10/13/2013 22:16
。如何使用 php 将其转换为适合数据库存储的 mysql 时间戳函数?2013-10-13 22:16:00
谢谢你!
这是我想出如何使用 PHP 完成此任务的唯一合乎逻辑的方法。
$Data = $_POST['date'];
$Data = explode("/", $Data);
$Month = $Data[0];
$Day = $Data[1];
$YearAndTime = explode(" ", $exp[2]);
$Year = $YearAndTime[0];
$T = explode(":", $YearAndTime[1]);
$Hour = $T[0];
$Minute = $T[1];
$timestamp = "{$Year}-{$Month}-{$Day} {$Hour}:{$Minute}:00";
尝试这个:
$('#datepicker').datepicker({ dateFormat: 'yy-mm-dd' });
使用内置DateTime
类:
// Create a DateTime instance from a custom format
$format = 'm/d/Y H:i';
$date = '10/13/2013 22:16';
$time = DateTime::createFromFormat($format, $date);
// If the $time variable is false then it means
// that the input is not formatted correctly...
if ( ! $time) {
echo 'Input is not formatted correctly!';
} else {
echo 'Valid input: ', $time->format('r');
}
die;
在 PHP 中尝试以下操作:
$date= date('Y-m-d H:i:s',strtotime( $_POST['date']));
好吧,你试过 php mktime()吗?
如果您使用的是 jquery UI datepicker,那么 CIRCLE 的答案是正确的。将 datepicker 格式更改为 yy-mm-dd 会将 9/4/2014 转换为 2014-09-04,然后可以成功地将其与存储在数据库中的时间戳进行比较。