在我的数据库中,日期格式为DD-MM-YYYY
。但对于SELECT
,我需要介于两个日期之间
我知道我必须使用BETWEEN
语法,但有了这个,我需要的日期格式为YYYY/MM/DD
。
所以我的代码改变了语法:
// my URL is : '.../pdf.php?date1=22-05-2015&date2=29-05-2015'
$date1=explode('-',$_GET["date1"]); // $_GET["date1"] = '22-05-2015'
$date2=explode('-',$_GET["date2"]); // $_GET["date2"] = '29-05-2015'
$date1_good = $date1[2].'/'.$date1[1].'/'.$date1[0];
$date2_good = $date2[2].'/'.$date2[1].'/'.$date2[0];
问题是,$date1_good
和$date2_good
现在是浮动值而不是像'2015/05/29'
这样的字符串。
我尝试过使用strval()
和(string)
,但没有任何效果
你有什么想法让它发挥作用吗?谢谢!
答案 0 :(得分:9)
这样做很简单: -
$date1_good = date('Y/m/d',strtotime($_GET["date1"]));
$date2_good = date('Y/m/d',strtotime($_GET["date2"]));
注意: - 我举了一个例子,根据你的意愿改变格式。祝好运。谢谢。检查一下: -
<?php
$_GET["date1"] = '22-05-2015';
$_GET["date2"]= '29-05-2015';
$date1_good = date('Y/m/d',strtotime($_GET["date1"]));
$date2_good = date('Y/m/d',strtotime($_GET["date2"]));
echo $date1_good.'----------------'.$date2_good;
?>
答案 1 :(得分:2)
你可以试试这个:
date('Y-m-d', strtotime("23/10/2009"));
答案 2 :(得分:2)
只需使用DateTime
函数
$date1 = "22-05-2015";
$date2 = "29-05-2015";
$date_1 = DateTime::createFromFormat("d-m-Y",$date1);
$date_2 = DateTime::createFromFormat("d-m-Y",$date2);
echo $date_1->format('Y/m/d')."<br>";
echo $date_2->format('Y/m/d');