Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Ngày trong URL dd / mm / yyyy

Khi sử dụng strotime() bạn cần đảm bảo rằng bạn đang sử dụng định dạng ngày giờ hợp lệ . Nếu không thì strtotime() sẽ trả về false hoặc cung cấp cho bạn một giá trị bất ngờ.

Các ngày sử dụng định dạng XX / XX / XXXX được giả định là ở định dạng Hoa Kỳ có nghĩa là hai chữ số đầu tiên đại diện cho tháng, hai chữ số tiếp theo đại diện cho ngày trong tháng và bốn chữ số cuối cùng đại diện cho năm. Khi sử dụng dấu gạch ngang, ngày tháng được giả định ở định dạng Châu Âu. Ví dụ:

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

Nếu bạn vô tình chuyển đổi ngày và tháng strtotime() sẽ trả về false vì ngày đó không hợp lệ.

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

Các ví dụ trên là thẳng về phía trước. Nhưng bạn có thể gặp phải vấn đề khi ngày tháng có thể quá lớn. Ví dụ:

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

Trong các ví dụ trên bằng cách chuyển đổi ngày và tháng, chúng tôi vẫn nhận được những ngày hợp lệ có thể gây ra kết quả không mong muốn trong đơn đăng ký của bạn. Để giải quyết những vấn đề tiềm ẩn này, bạn nên sử dụng DateTime::createFromFormat() để phân tích cú pháp ngày, quảng cáo trả về một DateTime() đối tượng mà từ đó bạn có thể lấy Dấu thời gian Unix , chuyển đổi ngày thành định dạng khác hoặc sử dụng nó để so sánh với DateTime khác đối tượng.

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

Xem thêm:

Đối với trường hợp cụ thể của bạn, mã sau sẽ hoạt động:

$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. Cách thay thế MySQL bằng Percona trên Plesk CentOS 7

  2. Cách hàm WEIGHT_STRING () hoạt động trong MySQL

  3. Lỗi khi tạo bảng:Bạn gặp lỗi trong cú pháp SQL của mình gần 'order (order_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id' ở dòng 1

  4. Adminer - Công cụ quản trị cơ sở dữ liệu dựa trên web nâng cao dành cho Linux

  5. Tổng tích lũy trên một tập hợp các hàng trong mysql