sql >> Databasteknik >  >> RDS >> Mysql

Datum i en URL dd/mm/åååå

När du använder strotime() du måste se till att du använder ett giltigt datumformat . Annars strtotime() returnerar false eller ge dig ett oväntat värde.

Datum som använder formatet XX/XX/XXXX antas vara i USA-format, vilket innebär att de två första siffrorna representerar månaden, de två följande siffrorna representerar månadsdagen och de fyra sista siffrorna representerar året. När bindestreck används antas datumen vara i europeiskt format. Till exempel:

04/18/2017 = April 18, 2017
12/18/2017 = December 18, 2017
18-04-2017 = April 18, 2017
18-12-2017 = December 18, 2017

Om du av misstag byter dag och månad strtotime() kommer att returnera falskt eftersom datumet är ogiltigt.

18/04/2017 // error
18/12/2017 // error
04-18-2018 // error
12-18-2017 // error

Ovanstående exempel är rättfram. Men du kan stöta på problem när datumen kan vara tvetydiga. Till exempel:

04/12/2017 = April 12, 2017
12/04/2017 = December 4, 2017
04-12-2017 = December 4, 2017
12-04-2017 = April 12, 2017

I exemplen ovan genom att byta dag och månad får vi fortfarande giltiga datum som kan orsaka oväntade resultat i din ansökan. För att lösa dessa potentiella problem rekommenderar vi att du använder DateTime::createFromFormat() för att analysera datumannonsen returnera en DateTime() objekt från vilket du kan få en Unix-tidsstämpel , konvertera datumet till ett annat format , eller använd den för att jämföra med andra DateTime objekt.

// Parse US date format
$date1 = DateTime::createFromFormat('m/d/Y', '04/18/2017');

// Get Unix timestamp of 1493581268
$timestamp = $date1->getTimestamp();

// Parse European date format
$date2 = DateTime::createFromFormat('d-m-Y', ''18-04-2017);

// Get MySQL format (ISO-8601) of 2017-04-18
$mysqlDate = $date2->format('Y-m-d');

Se även:

För ditt specifika fall kommer följande kod att fungera:

$date = $date1 = DateTime::createFromFormat('m/d/Y', '20/02/2000');
$D->query = $date->format('Y-m-d'); // 2000-02-20



  1. Automatisk ökning på partiell primärnyckel med Entity Framework Core

  2. Förhandsgranska och ladda upp bilder med PHP och MySQL-databas

  3. MySQL:Hur får man längden på text i en kolumn

  4. Skala ut Moodle-databasen