Date & Time trong PHP
NỘI DUNG BÀI VIẾT
Date là những phần trong cuộc sống thường ngày và nó trở nên dễ dàng để làm việc với chúng mà không phải suy nghĩ. PHP cũng cung cấp các công cụ mạnh mẽ để thao tác date dễ dàng hơn.
Lấy Time Stamp với hàm time() trong PHP
Hàm time() trong PHP cung cấp cho bạn tất cả thông tin bạn cần về date và time hiện tại. Nó không yêu cầu tham số nhưng trả về một integer.
Số integer được trả về bởi hàm time() biểu diễn số giây đã trôi qua từ nửa đêm 1/1/1970. Dưới đây là ví dụ minh họa:
<?php
print time();
?>
Code language: HTML, XML (xml)
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Nếu xem kết quả, bạn có thể thấy khó hiểu. Nhưng PHP cung cấp các công cụ tuyệt vời để chuyển đổi một timestamp thành một form mà con người thấy tiện lợi.
Chuyển đổi Time Stamp với hàm getdate() trong PHP
Hàm getdate() chấp nhận một time stamp và trả về một mảng liên hợp chứa thông tin về date. Nếu bạn bỏ sót time stamp này, thì nó làm việc với time stamp hiện tại khi được trả về bởi time().
Bảng dưới liệt kê các phần tử được chứa trong mảng liên hợp được trả về bởi getdate() trong PHP:
Key | Miêu tả | Ví dụ |
---|---|---|
seconds | Giây của phút (0-59) | 20 |
minutes | Phút của giờ (0 – 59) | 29 |
hours | Giờ của ngày (0 – 23) | 22 |
mday | Ngày của tháng (1 – 31) | 11 |
wday | Ngày trong tuần (0 – 6) | 4 |
mon | Tháng trong năm (1 – 12) | 7 |
year | Năm (4 chữ số) | 1997 |
yday | Ngày trong năm ( 0 – 365 ) | 19 |
weekday | Ngày trong tuần | Thursday |
month | Tháng trong năm | January |
0 | Timestamp | 948370048 |
Tới giờ, bạn có thể định dạng date và time này trong bất kỳ định dạng nào bạn muốn.
Ví dụ
Bạn thử ví dụ sau:
<?php
$date_array = getdate();
foreach ( $date_array as $key => $val )
{
print "$key = $val<br />";
}
$mydate=getdate(date("U")); //bạn tham khảo hàm date() ở bên dưới
print "Today: ";
echo "$mydate[weekday], $mydate[month] $mydate[mday], $mydate[year]";
?>
Code language: HTML, XML (xml)
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Chuyển đổi Time Stamp với date() trong PHP
Hàm date() trong PHP trả về một chuỗi đã được định dạng biểu diễn một date. Bạn có thể thực hành các điều khiển đa dạng thông qua định dạng mà hàm date() trả về với một tham số chuỗi mà bạn muốn truyền cho nó.
date(format,timestamp)
Nếu không sử dụng (một cách tùy ý) một Time stamp trong hàm date(), thì date và time hiện tại sẽ được sử dụng. Bất kỳ dữ liệu nào khác bạn bao trong chuỗi định dạng đã truyền cho date() sẽ được bao trong giá trị trả về.
Bảng dưới liệt kê một số code mà một chuỗi định dạng có thể chứa:
Định dạng | Miêu tả | Ví dụ |
---|---|---|
a | ‘am’ hoặc ‘pm’ dạng chữ thường | pm |
A | ‘AM’ hoặc ‘PM’ dạng chữ hoa | PM |
d | Ngày của tháng, dạng số bắt đầu từ 01 | 20 |
D | Ngày trong tuần (3 chữ cái) | Thu |
F | Tên tháng | January |
h | Giờ (định dạng 12h, dạng từ 01) | 12 |
H | Giờ (định dạng 24h, dạng từ 01) | 22 |
g | Giờ (định dạng 12h, dạng từ 1) | 12 |
G | Giờ (định dạng 24h, dạng từ 1) | 22 |
i | Phút ( 0 – 59 ) | 23 |
j | Ngày trong tháng (dạng 1) | 20 |
l (Lower ‘L’) | Ngày trong tuần | Thursday |
L | Năm nhuận (‘1’ cho yes, ‘0’ cho no) | 1 |
m | Tháng trong năm (số, dạng 01) | 1 |
M | Tháng trong năm (3 chữ cái) | Jan |
r | Date theo định dạng RFC 2822 | Thu, 21 Dec 2000 16:01:07 +0200 |
n | Tháng trong năm (số, dạng 1) | 2 |
s | Giây trong giờ | 20 |
U | Time stamp | 948372444 |
y | Năm (2 chữ số) | 06 |
Y | Năm (4 chữ số) | 2006 |
z | Ngày trong năm (0 – 365) | 206 |
Z | Offset bằng giá trị giây từ GMT | +5 |
Ví dụ
Bạn thử ví dụ sau về hàm date() trong PHP:
<?php
// in ngày trong tuần
echo date("l") . "<br>";
// in ngày trong tuần, ngày trong tháng, tháng, năm, thời gian, AM hoặc PM
echo date("l jS \of F Y h:i:s A") . "<br>";
// hiển thị October 3, 1975 là vào Friday
echo "Oct 3,1975 was on a ".date("l", mktime(0,0,0,10,3,1975)) . "<br>";
// sử dụng một hằng số trong tham số format
echo date(DATE_RFC822) . "<br>";
// hiển thị date time dưới dạng giống như: 1975-10-03T00:00:00+00:00
echo date(DATE_ATOM,mktime(0,0,0,10,3,1975));
?>
Code language: HTML, XML (xml)
Lưu chương trình trên trong một file có tên là test.php trong htdocs, sau đó mở trình duyệt và gõ địa chỉ http://localhost:8080/test.php sẽ cho kết quả:
Hy vọng bạn đã hiểu cách định dạng date và time theo yêu cầu của bạn. Danh sách đầy đủ tất cả các hàm thao tác date và time được cung cấp tại chương Hàm xử lý Date & Time trong PHP.
Tham khảo khóa học lập trình web 6 tháng, đảm bảo 100% công việc đầu ra!
Trả lời