将表单中 SQL/PHP 中日期的输入格式从 Y/M/D 更改为 D/M/Y

Change the Format of Input for a date from Y/M/D to D/M/Y in SQL/PHP from a form

我需要能够将日期格式从 Y/M/D 更改为 D/M/Y。包含我正在查询的所有数据的数据库的日期设置为 Y/M/D,而输入表单的输入尚未设置为 D/M/Y。

有谁知道我该如何更改格式?

注意日期是 'DOB'

这里是SQL:

$sql="SELECT `country_name`,`gdp`,`population`,Cyclist.name,Cyclist.dob FROM Country JOIN Cyclist ON Country.ISO_id=Cyclist.ISO_id 
WHERE 'dob'
BETWEEN '".$date_1."' AND '".$date_2."'";

这里是PHP用于从表单提交中获取数据

$date_1=$_REQUEST['date_1'];
$date_2=$_REQUEST['date_2'];

STR_TO_DATE 使用给定格式将字符串解析为日期。

$sql="SELECT `country_name`,`gdp`,`population`,Cyclist.name,Cyclist.dob FROM Country JOIN Cyclist ON Country.ISO_id=Cyclist.ISO_id 
WHERE 'dob'
BETWEEN STR_TO_DATE('".$date_1.",'%d,%m,%Y') AND STR_TO_DATE('".$date_2.",'%d,%m,%Y')'";

STR_TO_DATE: https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

您可以更改 php date() 和 strtotime() 中的日期格式 例如:$date_new = date('d-m-Y', strtotime($date)); 然后将其传递给 sql 查询。