我尝试使用以下代码将dateformat从dmy更改为ymd,但在使用时我的日期错误。
我的代码
$sdate11=date("Y-m-d", strtotime($_POST["txtstartdates"]) );
$sdate111=date("Y-m-d", strtotime($_POST["txtenddates"]) );
插入日期
30-05-2013 and 31-05-2013
它返回的日期是
2035-11-03 and 2036-11-02
你可以帮我找一下这里的问题并解决它吗
谢谢。
答案 0 :(得分:3)
您可以使用DateTime
:
$date = DateTime::createFromFormat('d-m-Y', $_POST['txtstartdates']);
echo $date->format('Y-m-d');
$date = DateTime::createFromFormat('d-m-Y', $_POST['txtenddates']);
echo $date->format('Y-m-d');
答案 1 :(得分:3)
尝试拆分,如
$a = split('-',$_POST["txtstartdates"]);
或者即使像
也可以使用爆炸$a = explode('-',$_POST["txtstartdates"]);
$my_new_date = $a[2].'-'.$a[1].'-'.$a[0];
此处strtotime不适用于格式dd-mm-yyyy
答案 2 :(得分:1)
您不能使用DateTime对象将日期转换为您想要的格式吗?
$DateTime = new DateTime($_POST['FIELD']);
echo $DateTime->format('Y-m-d');
答案 3 :(得分:0)
您的代码似乎是正确的,我不知道为什么它不适合您可以尝试下面
我仅从''
""
$sdate11=date('Y-m-d', strtotime($_POST['txtstartdates']));
$sdate111=date('Y-m-d', strtotime($_POST['txtenddates']));
答案 4 :(得分:0)
您可以使用单行作为:
$show_date = DateTime::createFromFormat('d-m-Y', $dateInput)->format('Y-m-d');