1

我在 php 中的 strtotime 函数有问题,我正在尝试将 mm-dd-yyyy 转换为 yyyy-mm-dd。在文本框中输入日期,提交时应将日期保存到数据库中。问题是它每次都返回一个错误的日期(1970-01-01),这意味着我的代码没有使用我用来存储日期的变量,我的代码是:

//dateconvert
$submitdate = date($_POST['date']);
$date   = date("Y-m-d", strtotime($submitdate));

//storeindb
$query ="INSERT INTO ticket SET date = '$date'";
$result = mysql_query($query);

我是新手,请帮忙。

4

3 回答 3

2

Dates in the m/d/y or d-m-y formats are disambiguated by looking at the separator between the various components: if the separator is a slash (/), then the American m/d/y is assumed; whereas if the separator is a dash (-) or a dot (.), then the European d-m-y format is assumed.

http://php.net/manual/en/function.strtotime.php

You need to use the forward slash separator for mm/dd/yyyy formats.

于 2013-10-25T10:20:51.243 回答
1

将代码用作:

$submitdate = $_POST['date'];
$date = date("Y-m-d", strtotime($submitdate));

希望这有帮助。

于 2013-10-25T10:24:56.427 回答
1

日期格式$submitdate不正确 因为格式 yyyy/mm/dd 应该是 yyyy-mm-dd 所以你需要替换你的/字符。

尝试这个:

$submitdate = str_replace("/","-",$_POST['date']);
echo date('Y-m-d', strtotime($submitdate));
于 2013-10-25T10:26:15.073 回答