Hàm strtotime() trong PHP là một trong những hàm quan trọng trong lập trình PHP. Sau việc tìm hiểu về hàm str_replace, foreach,…bài hôm nay chúng ta sẽ tiếp tục series bằng hàm strtotime.
Hàm strtotime () phân tích một datetime văn bản tiếng Anh thành một dấu thời gian Unix (số giây kể từ ngày 1 tháng 1 năm 1970 00:00:00 GMT).
Lưu ý: Nếu năm được xác định theo định dạng hai chữ số, các giá trị từ 0-69 tới 2000-2069 và các giá trị từ 70-100 được tới 1970-2000.
Lưu ý: Lưu ý các ngày theo định dạng m / d / y hoặc dmy; nếu dấu phân tách là dấu gạch chéo (/), thì giả sử m / d / y của Mỹ. Nếu dấu tách là dấu gạch ngang (-) hoặc dấu chấm (.), Thì định dạng dmy Châu Âu được giả định. Để tránh các lỗi tiềm ẩn, bạn nên nhập ngày YYYY-MM-DD hoặc date_create_from_format () khi có thể.
strtotime(time,now);
Tham số |
Miêu tả |
time |
Bắt buộc. Xác định chuỗi time để parse |
now |
Tùy ý. Là timestamp được sử dụng để ước lượng giá trị trả về |
Giá trị trả lại: |
Trả về dấu thời gian thành công. FALSE về lỗi |
Phiên bản PHP: |
4+ |
Changelog: |
PHP 5.3.0: Bây giờ các định dạng thời gian tương đối như tuần này, tuần trước, tuần trước và tuần sau diễn giải một tuần từ thứ Hai đến Chủ Nhật, thay vào đó là khoảng thời gian 7 ngày liên quan đến ngày / giờ hiện tại PHP 5.3.0 : Bây giờ 24:00 là một định dạng hợp lệ PHP 5.2.7: Trong các phiên bản trước đó, nếu yêu cầu một lần xuất hiện nhất định của một ngày trong tuần trong tháng mà ngày trong tuần đó là ngày đầu tiên của tháng, nó sẽ thêm một tuần vào dấu thời gian trả về . Điều này đã được sửa ngay bây giờ PHP 5.1.0: Trả về FALSE khi lỗi (các phiên bản trước trả về -1), và các lỗi múi giờ E_STRICT và E_NOTICE PHP 5.0.2: Bây giờ tính chính xác "bây giờ" và các thời gian tương đối khác từ thời điểm hiện tại, không từ nửa đêm ngày hôm nay PHP 5.0.0: Cho phép micro giây (nhưng chúng bị bỏ qua) |
Ví dụ 1:
<!DOCTYPE html>
<html>
<body>
<?php
echo(strtotime("now") . "<br>");
echo(strtotime("3 October 2005") . "<br>");
echo(strtotime("+5 hours") . "<br>");
echo(strtotime("+1 week") . "<br>");
echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "<br>");
echo(strtotime("next Monday") . "<br>");
echo(strtotime("last Sunday"));
?>
</body>
</html>
Kết quả hiển thị:
Nếu số của năm được chỉ định ở định dạng hai chữ số, các giá trị trong khoảng từ 00-69 tới 2000-2069 và 70-99 đến 1970-1999. Xem các ghi chú bên dưới để biết các khác biệt có thể có trên các hệ thống 32 bit (các ngày có thể có thể kết thúc vào 2038-01-19 03:14:07).
Phạm vi hợp lệ của dấu thời gian thường là từ Thứ Sáu, ngày 13 tháng 12 năm 1901 20:45:54 giờ UTC đến Thứ Ba, ngày 19 tháng 1 năm 2038 03:14:07 UTC. (Đây là những ngày tương ứng với các giá trị tối thiểu và tối đa cho một số nguyên có dấu 32 bit.)
Trước PHP 5.1.0, không phải tất cả các nền tảng đều hỗ trợ dấu thời gian tiêu cực, do đó phạm vi ngày của bạn có thể bị giới hạn không sớm hơn kỷ nguyên Unix. Điều này có nghĩa là các ngày trước ngày 1 tháng 1 năm 1970 sẽ không hoạt động trên Windows, một số bản phân phối Linux và một vài hệ điều hành khác.
Đối với các phiên bản PHP 64 bit, phạm vi hợp lệ của dấu thời gian có hiệu lực vô hạn, vì 64 bit có thể biểu diễn khoảng 293 tỷ năm theo một trong hai hướng.
Ngày tháng trong định dạng m / d / y hoặc dmy được định hướng bằng cách nhìn vào dấu phân cách giữa các thành phần khác nhau: nếu dấu tách là dấu gạch chéo ( / ), thì giả định m / d / y của Mỹ ; trong khi nếu dấu tách là dấu gạch ngang ( - ) hoặc dấu chấm ( . ), thì định dạng dmy Châu Âu được giả định. Tuy nhiên, nếu năm được đưa ra theo định dạng hai chữ số và dấu tách là dấu gạch ngang ( - ), chuỗi ngày được phân tích cú pháp là ymd .
Để tránh sự mơ hồ tiềm năng, tốt nhất bạn nên sử dụng ngày ISO 8601 ( YYYY-MM-DD ) hoặc DateTime :: createFromFormat () khi có thể.
Sử dụng hàm này cho các phép toán không được khuyến khích. Nó là tốt hơn để sử dụng DateTime :: add () và DateTime :: sub () trong PHP 5.3 trở lên, hoặc DateTime :: sửa đổi () trong PHP 5.2.
Qua bài viết Hàm strtotime trong PHP chúng ta đã đi phân tích về định nghĩa, cú pháp, cách sử dụng, ví dụ và những chú ý khi sủ dụng hàm. Chúc các bạn thành công!
Một số tài liệu và kiến thức PHP khác bạn nên xem: