Thư viện tích hợp sẵn của PHP có một loạt các hàm giúp xử lý và thao tác thông tin ngày và giờ một cách lập trình. Các đối tượng Ngày và Giờ trong PHP có thể được tạo ra bằng cách truyền vào một chuỗi đại diện cho thông tin ngày/giờ, hoặc từ thời gian hiện tại của hệ thống.
PHP cung cấp lớp DateTime định nghĩa một số phương thức. Trong chương này, chúng ta sẽ có cái nhìn chi tiết về các phương thức liên quan đến Ngày và Giờ có sẵn trong PHP.
Các tính năng ngày/giờ trong PHP thực hiện lịch ISO 8601, áp dụng các quy tắc về ngày nhuận hiện tại từ trước khi lịch Gregory được áp dụng. Thông tin ngày và giờ được lưu trữ nội bộ dưới dạng một số 64-bit.
Hàm time() của PHP cung cấp cho bạn tất cả thông tin cần thiết về ngày và giờ hiện tại. Nó không yêu cầu tham số nào nhưng trả về một số nguyên.
time(): int
Số nguyên được trả về bởi time() đại diện cho số giây đã trôi qua kể từ nửa đêm GMT vào ngày 1 tháng 1 năm 1970. Khoảnh khắc này được gọi là thời điểm UNIX, và số giây đã trôi qua kể từ lúc đó được gọi là dấu thời gian.
<?php print time(); ?>
Nó sẽ tạo ra output −
1699421347
Chúng ta có thể chuyển đổi dấu thời gian thành một dạng mà con người dễ hiểu.
Hàm getdate() chấp nhận một dấu thời gian (time stamp) tùy chọn và trả về một mảng liên kết chứa thông tin về ngày. Nếu bạn bỏ qua dấu thời gian, nó sẽ hoạt động với dấu thời gian hiện tại được trả về bởi hàm time().
Bảng dưới đây liệt kê các phần tử có trong mảng được trả về bởi getdate().
Sr.No | Key & Description | Example |
---|---|---|
1 | seconds Seconds past the minutes (0-59) | 20 |
2 | minutes Minutes past the hour (0 - 59) | 29 |
3 | hours Hours of the day (0 - 23) | 22 |
4 | mday Day of the month (1 - 31) | 11 |
5 | wday Day of the week (0 - 6) | 4 |
6 | mon Month of the year (1 - 12) | 7 |
7 | year Year (4 digits) | 1997 |
8 | yday Day of year ( 0 - 365 ) | 19 |
9 | weekday Day of the week | Thursday |
10 | month Month of the year | January |
11 | 0 Timestamp | 948370048 |
Bây giờ bạn có toàn quyền kiểm soát về ngày và giờ. Bạn có thể định dạng ngày và giờ này theo bất kỳ định dạng nào bạn muốn.
Hãy xem đoạn sau đây example −
<?php $date_array = getdate(); foreach ( $date_array as $key => $val ){ print "$key = $val\n"; } $formated_date = "Today's date: "; $formated_date .= $date_array['mday'] . "-"; $formated_date .= $date_array['mon'] . "-"; $formated_date .= $date_array['year']; print $formated_date; ?>
Nó sẽ tạo ra output −
seconds = 0 minutes = 38 hours = 6 mday = 8 wday = 3 mon = 11 year = 2023 yday = 311 weekday = Wednesday month = November 0 = 1699421880 Today's date: 8-11-2023
Hàm date() trả về một chuỗi đã định dạng đại diện cho một ngày. Bạn có thể kiểm soát một lượng lớn định dạng mà hàm date() trả về bằng cách sử dụng một tham số chuỗi mà bạn phải truyền cho nó.
date(string $format, ?int $timestamp = null): string
Hàm date() có thể nhận một dấu thời gian tùy chọn; nếu không có, thì ngày và giờ hiện tại sẽ được sử dụng. Bất kỳ dữ liệu nào khác bạn đưa vào chuỗi định dạng được truyền cho hàm date() sẽ được bao gồm trong giá trị trả về.
Bảng dưới đây liệt kê các mã mà một chuỗi định dạng có thể chứa −
Sr.No | Format & Description | Example |
---|---|---|
1 | a 'am' or 'pm' lowercase | pm |
2 | A 'AM' or 'PM' uppercase | PM |
3 | d Day of month, a number with leading zeroes | 20 |
4 | D Day of week (three letters) | Thu |
5 | F Month name | January |
6 | h Hour (12-hour format - leading zeroes) | 12 |
7 | H Hour (24-hour format - leading zeroes) | 22 |
8 | g Hour (12-hour format - no leading zeroes) | 12 |
9 | G Hour (24-hour format - no leading zeroes) | 22 |
10 | i Minutes ( 0 - 59 ) | 23 |
11 | j Day of the month (no leading zeroes | 20 |
12 | l (Lower 'L') Day of the week | Thursday |
13 | L Leap year ('1' for yes, '0' for no) | 1 |
14 | m Month of year (number - leading zeroes) | 1 |
15 | M Month of year (three letters) | Jan |
16 | r The RFC 2822 formatted date | Thu, 21 Dec 2000 16:01:07 +0200 |
17 | n Month of year (number - no leading zeroes) | 2 |
18 | s Seconds of hour | 20 |
19 | U Time stamp | 948372444 |
20 | y Year (two digits) | 06 |
21 | Y Year (four digits) | 2006 |
22 | z Day of year (0 - 365) | 206 |
23 | Z Offset in seconds from GMT | +5 |
Hãy xem đoạn sau đây example −
<?php print date("m/d/y G.i:s \n", time()) . PHP_EOL; print "Today is "; print date("j of F Y, \a\\t g.i a", time()); ?>
Nó sẽ tạo ra output −
11/08/23 11.23:08 Today is 8 2023f November 2023, at 11.23 am
Hy vọng bạn đã hiểu rõ cách định dạng ngày và giờ theo yêu cầu của bạn. Để tham khảo, danh sách đầy đủ tất cả các hàm ngày và giờ được cung cấp trong PHP Date & Time Functions .