【问题标题】:mysql dateformat with jquery date format not working outmysql日期格式与jquery日期格式不起作用
【发布时间】:2011-12-28 10:29:54
【问题描述】:

我有一个mypage.php,它包含以下代码

我已经添加了

<link style="text/css" href="http://jqueryui.com/themes/base/jquery.ui.all.css" rel="stylesheet">

<script type="text/javascript" src="/scripts/jquery.js"></script>

<script type="text/javascript" src="/scripts/ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="/scripts/ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="/scripts/ui/jquery.ui.datepicker.js"></script>

<form name="test_date" method="post">
    <input type="text" id="datepicker1" name="date1">
    <input type="submit" name="insert" value="Insert and show">
</form>

jquery.ui.datepicker.js 中,我将日期格式从dateFormat: 'mm/dd/yy' 更改为dateFormat: 'dd/mm/yy'

下面是点击文本框时选择日期的jquery

<script>
    $(function() {
        $( "#datepicker1" ).datepicker();
    });
</script>

当我点击提交按钮时,我已经插入了 mysql 数据库数据库

<?php
if($_POST['insert']) {
echo "Date : ";
$d = $_POST['date1'];

require('con_open.php');

$t = date('Y-m-j H:i:s', strtotime($d));
mysql_query("insert into date_table (date_field1) values ('$t')");

echo "Converted to Date at Runtime :" . $t;
echo "<br>";
$query = mysql_query("select date_field1 from date_table");
while($r = mysql_fetch_row($query))
{
    got_date_db = $r[0];
}
echo "Displaying date from Database : " . got_date_db;

require('con_close.php');
}
?>

输出:

Converted to Date at Runtime : 2011-12-28 14:32:16

Displaying date from Database : 0000-00-00 00:00:00

date_field1 (DATETIME) fromat on mysql

即使我已经尝试在网上和 stackoverflow 上检查 mysql 和 php 日期函数手册的日期格式...但我无法找到任何解决方案。

【问题讨论】:

  • 尝试插入一些默认日期,例如,设置,$t = '2011-12-12 10:10:16';然后执行插入查询,看看它是否插入良好..!
  • 是的!就像你说的那样手动解决,但不是
  • 你应该分享你的 date_table 表定义。
  • 已经在这里分享了它是date_field1 (DATETIME)mysql上的格式
  • 好的,在你的mysql_query("insert..声明之后;添加这个:echo mysql_error();

标签: php mysql jquery-ui datetime


【解决方案1】:

试试:

mysql_query("
  insert into date_table (date_field1)
  values (FROM_UNIXTIME(". (int)strtotime($_POST['date1']) ."))
");

我认为将日期作为时间戳传递给数据库通常是个好主意。这样您就不必担心以正确的方式格式化它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多