将时间戳DATE重新转换回原始格式(编辑时)PHP MySQL

时间:2010-03-20 02:01:31

标签: php mysql date format

好的,所以我设法将HTML中显示的日期格式(显示后)显示为我想要的格式(dd / mm / yyy)......但是,用户也可以通过表单更改日期。 / p>

所以这就是现在的设置。首先,从YYYY-MM-DD转换为DD / MM / YYYY,然后以HTML格式显示:

  

$ timestamp = strtotime($ duedate);        回音日期('d / m / Y',$ timestamp);

现在,当用户选择更新截止日期时,已绘制的值已存储并显示在我的文本字段中(使用与上面完全相同的代码)..到目前为止一切都很好。

但是当我的用户运行更新脚本(点击提交)时,新的截止日期没有存储,而在我的数据库中它被视为'0000-00-00'。我知道我需要将它转换回MySQL想要的正确格式,以便保存它,但我不知道如何做到这一点。这是我到目前为止在我的更新脚本中(截止日期):

$duedate = $_POST['duedate'];

$timestamp = strtotime($duedate);
    date('Y/m/d', $timestamp);

$query = "UPDATE films SET filmname= '".$filmname."', duedate= '".$duedate;

有人可以指出我正确的方向让新的日期在处理后,由MySQL转换回公认的格式。我感谢任何帮助!感谢。

1 个答案:

答案 0 :(得分:2)

这应该有所帮助。尝试进行相同的转换,但回到MySQL需要的格式。查看格式的date()函数。

 $duedate = date('Y-m-d', strtotime($_POST['duedate']));
 // Alternate, more accurate version.
 $date_part = explode("/", $_POST['duedate']);
 $duedate = date('Y-m-d', mktime(0, 0, 0, $date_part[1], $date_part[0], $date_part[2]));