我正在尝试将日期和时间插入MySQL DateTime字段。当用户选择日期和时间时,它将生成两个帖子变量。我搜索了互联网,但仍然不确定该怎么做。

我的代码。

//date value is 05/25/2010
//time value is 10:00

$date=$_POST['date'];
$time=$_POST['time'];

$datetime=$date.$time

如果我将$ datetime插入mySQL,则日期似乎为0000-00-00:00:00:00

如果有人可以帮助我,我很感激。谢谢。

有帮助吗?

解决方案

$datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00';
$datetime = mysql_real_escape_string($datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

可以处理更多格式的替代解决方案:

$datetime = $_POST['date'] . ' ' . $_POST['time'];
$datetime = mysql_real_escape_string($datetime);
$datetime = strtotime($datetime);
$datetime = date('Y-m-d H:i:s',$datetime);
$query = "INSERT INTO table(timestamp) VALUES ('$datetime')";

其他提示

日期必须向您显示格式: 0000-00-00 00:00:00

因此,您必须转换它。关于此转换的数千个问题。
最短的方式就像

list($m,$d,$y) = explode("/",$_POST['date']);
$date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']);

我认为DateTime格式看起来像这样:

YYYY-MM-DD HH:MM:SS

因此,您必须格式化$ DateTime才能看起来像这样。在您的查询中,需要将其封装在Quoation标记中。

  • 您要么将字符串转换为 YYYY-MM-DD HH:MM:SS 格式化自己,
  • 或者您使用 str_to_date() MySQL的功能。

    插入表DateTime值(str_to_date($ date,“%m/%d/%y%h:%i”))

据我所知,默认情况下,MySQL DateTime应该在“ Yyyy-MM-DD HH:MM:SS”格式中。

我通过API在MySQL db中添加了日期和时间:


致电API

http://localhost/SendOrder.php?odate=20120323&otime=164545

  1. odate 类型是日期
  2. otime 类型是DB中的时间。

它将以2012-03-23和Otime为16:45:45存储Odate。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top