Ngày và giờ PHP
Hàm date()
trong PHP được sử dụng để định dạng ngày và/hoặc giờ.
Hàm ngày() của PHP
Hàm date()
của PHP định dạng dấu thời gian thành ngày và giờ dễ đọc hơn.
Cú pháp
date( format , timestamp )
Parameter | Description |
---|---|
format | Required. Specifies the format of the timestamp |
timestamp | Optional. Specifies a timestamp. Default is the current date and time |
Dấu thời gian là một chuỗi ký tự, biểu thị ngày và/hoặc thời gian xảy ra một sự kiện nhất định.
Kiếm một buổi hẹn hò
Tham số định dạng bắt buộc của hàm date() chỉ định cách định dạng ngày (hoặc giờ).
Dưới đây là một số ký tự thường được sử dụng cho ngày tháng:
- d – Đại diện cho ngày trong tháng (01 đến 31)
- m – Đại diện cho một tháng (01 đến 12)
- Y - Đại diện cho một năm (có bốn chữ số)
- l (chữ thường 'L') - Biểu thị ngày trong tuần
Các ký tự khác, như"/", "." hoặc "-" cũng có thể được chèn vào giữa các ký tự để thêm định dạng bổ sung.
Ví dụ bên dưới định dạng ngày hôm nay theo ba cách khác nhau:
Ví dụ
<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
Hãy tự mình thử » Mẹo PHP - Năm bản quyền tự động
Sử dụng hàm date()
để tự động cập nhật năm bản quyền trên website của bạn:
Nhận một thời gian
Dưới đây là một số ký tự thường được sử dụng cho thời gian:
- H - định dạng 24 giờ của một giờ (00 đến 23)
- h - định dạng 12 giờ của một giờ với các số 0 đứng đầu (01 đến 12)
- i - Phút có số 0 đứng đầu (00 đến 59)
- s - Giây có số 0 đứng đầu (00 đến 59)
- a – Chữ thường Ante meridiem và Post meridiem (sáng hoặc chiều)
Ví dụ bên dưới xuất ra thời gian hiện tại ở định dạng đã chỉ định:
Lưu ý rằng hàm date() trong PHP sẽ trả về ngày/giờ hiện tại của máy chủ!
Nhận múi giờ của bạn
Nếu thời gian bạn nhận được mã không chính xác thì có thể là do máy chủ của bạn ở quốc gia khác hoặc được thiết lập theo múi giờ khác.
Vì vậy, nếu bạn cần thời gian chính xác theo một địa điểm cụ thể, bạn có thể đặt múi giờ bạn muốn sử dụng.
Ví dụ bên dưới đặt múi giờ thành "America/New_York", sau đó xuất thời gian hiện tại ở định dạng đã chỉ định:
Ví dụ
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
Hãy tự mình thử »Tạo một ngày với mktime()
Tham số dấu thời gian tùy chọn trong hàm date() chỉ định dấu thời gian. Nếu bị bỏ qua, ngày và giờ hiện tại sẽ được sử dụng (như trong ví dụ trên).
Hàm PHP mktime()
trả về dấu thời gian Unix cho một ngày. Dấu thời gian Unix chứa số giây giữa Kỷ nguyên Unix (ngày 1 tháng 1 năm 1970 00:00:00 GMT) và thời gian được chỉ định.
Cú pháp
mktime( hour, minute, second, month, day, year )
Ví dụ bên dưới tạo ngày và giờ bằng hàm date()
từ một số tham số trong hàm mktime()
:
Ví dụ
<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
Hãy tự mình thử »Tạo một ngày từ một chuỗi bằng strtotime()
Hàm PHP strtotime()
được sử dụng để chuyển đổi chuỗi ngày mà con người có thể đọc được thành dấu thời gian Unix (số giây kể từ ngày 1 tháng 1 năm 1970 00:00:00 GMT).
Cú pháp
strtotime( time, now )
Ví dụ bên dưới tạo ngày và giờ từ hàm strtotime()
:
Ví dụ
<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
Hãy tự mình thử »PHP khá thông minh trong việc chuyển đổi một chuỗi thành một ngày, vì vậy bạn có thể đặt nhiều giá trị khác nhau:
Ví dụ
<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";
$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
Hãy tự mình thử » Tuy nhiên, strtotime()
không hoàn hảo, vì vậy hãy nhớ kiểm tra các chuỗi bạn đặt vào đó.
Thêm ví dụ về ngày
Ví dụ dưới đây đưa ra ngày của sáu ngày Thứ Bảy tiếp theo:
Ví dụ
<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);
while ($startdate < $enddate) {
echo date("M d", $startdate) . "<br>";
$startdate = strtotime("+1 week", $startdate);
}
?>
Hãy tự mình thử »Ví dụ dưới đây cho ra số ngày tính đến ngày 4 tháng 7:
Ví dụ
<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>
Hãy tự mình thử »Tham chiếu ngày hoàn chỉnh của PHP
Để có tài liệu tham khảo đầy đủ về tất cả các hàm ngày, hãy truy cập Tài liệu tham khảo ngày tháng PHP đầy đủ của chúng tôi.
Tài liệu tham khảo chứa mô tả ngắn gọn và ví dụ về cách sử dụng cho từng chức năng!