Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tanggal dalam URL hh/bb/tttt

Saat menggunakan strotime() Anda perlu memastikan bahwa Anda menggunakan format tanggal waktu yang valid . Jika tidak strtotime() akan mengembalikan false atau memberi Anda nilai yang tidak terduga.

Tanggal yang menggunakan format XX/XX/XXXX diasumsikan dalam format US yang artinya dua digit pertama mewakili bulan, dua digit berikutnya mewakili hari dalam bulan, dan empat digit terakhir mewakili tahun. Ketika tanda hubung digunakan, tanggal diasumsikan dalam format Eropa. Misalnya:

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

Jika Anda tidak sengaja mengganti hari dan bulan strtotime() akan mengembalikan false karena tanggalnya tidak valid.

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

Contoh di atas adalah lurus ke depan. Tetapi Anda dapat mengalami masalah ketika tanggalnya bisa ambigu. Misalnya:

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

Dalam contoh di atas dengan mengganti hari dan bulan, kami masih mendapatkan tanggal yang valid yang dapat menyebabkan hasil yang tidak terduga di aplikasi Anda. Untuk mengatasi masalah potensial ini, disarankan untuk menggunakan DateTime::createFromFormat() untuk mengurai tanggal iklan kembalikan DateTime() objek dari mana Anda dapat mendapatkan Cap Waktu Unix , ubah tanggal ke format lain , atau gunakan untuk membandingkan DateTime lainnya objek.

// 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');

Lihat juga:

Untuk kasus khusus Anda, kode berikut akan berfungsi:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyiapkan pernyataan untuk kueri pembaruan?

  2. batasan kunci asing mysql adalah kesalahan yang salah bentuk

  3. Subkueri vs bergabung

  4. Dapatkan tahun ini, bulan ini dan hari ini di MySQL

  5. Kondisi WHERE di MySQL dengan 16 Contoh Query Berbeda