Đã đăng vào thg 11 16, 2020 10:06 SA 3 phút đọc
Vấn đề xử lý ngày tháng cực kì quan trọng khi bạn xử lý với các bài viết và đăng lên website. Ví dụ bạn cần in ra ngày tháng đăng bài viết hiển thị theo kiểu ngày / tháng / năm hoặc ngày - tháng -năm thì bắt buộc bạn phải biết cách sử dụng các hàm xử lý ngày tháng trong PHP thì mới làm được. Đó là vấn đề căn bản, vẫn còn nhiều vấn đề và tùy thuộc vào từng bài toán mà bạn sẽ có những hướng làm khác nhau.
1. Thiết lập time_zone tại Việt Nam
Để thiết lập time_zone ta làm theo cú pháp:
date_default_timezone_set['Tên Time Zone'];
Lệnh này sẽ ảnh hưởng tới tất cả các lệnh xử lý ngày tháng phía bên dưới nó nên để chắc chắn thì bạn nên để lệnh này ở đầu file của chương trình .Để thiết lập time_zone ở Việt Nam thì bạn sử dụng lệnh sau:
date_default_timezone_set['Asia/Ho_Chi_Minh'];
Để xem danh sách time zone thì bạn sử dụng đoạn code sau:
$timezone = DateTimeZone::listIdentifiers[] ;
foreach [$timezone as $item]{
echo $item . '
';
}
2. Định dạng ngày tháng với hàm date[] trong PHP
Hàm date dùng để chuyển đổi thời gian theo format mà lập trình viên mong muốn, cú pháp như sau:
date [$format, $timestamp = 'time[]']
Trong đó:
$format
là định dạng mà hàm này sẽ trả về$timestamp
là thời gian truyền vào [kiểu INT], mặc định nó sẽ lấy thời gian hiện tại [chính là hàm time[]].
Sau đây mình sẽ liệt kê một số định dạng hay sử dụng nhất.
- d: trả về ngày tháng [số]
- D: trả về ngày của tháng [tiếng Anh]
- m: trả về tháng của năm [số]
- M: Trả về tháng của năm [tiếng Anh]
- y: trả trả về năm [2 số cuối của năm]
- Y: trả về năm đầy đủ 4 số
- H: trả về số giờ [kiểu 24h]
- h: trả về số giờ [kiểu 6h]
- i: trả về số phút
- s: trả về số giây
- c: trả về thời gian kiểu ISO 8601, thường dùng tạo cho thẻ meta publish time trong SEO
Ví dụ: Lấy thời gian hiện tại theo định dạng ngày/tháng/năm - giờ:phút:giây
echo date['d/m/Y - H:i:s'];
3. Xử lý ngày tháng nâng cao trong PHP
- Chuyển đổi thời gian sang kiểu INT
Để chuyển đổi thời gian sang kiểu INT thì ta sử dụng hàm strtotime[$time]
:
echo strtotime[date['Y-m-d H:i:s']];
- Xử lý cộng trừ
ngày tháng với hàm
mktime[]
Hàmmktime[]
sẽ tính toán đưa ra ngày chính xác bởi các tham số truyền vào, cú pháp như sau:
mktime [$hour, $minute, $second, $month, $day , $year];
Lưu ý: Hàm này sẽ trả về thời gian kiểu INT nên bạn phải sử dụng hàm date[] để chuyển đổi ra định dạng mong muốn.
Cảm ơn các bạn đã đọc bài!
Tài liệu tham khảo:
//www.php.net/manual/en/function.date.php
//freetuts.net/xu-ly-ngay-thang-trong-php-649.html
All rights reserved
- Blog
- Tin tức
26/07/2021 03:01
Ngày tháng là một phần của cuộc sống hàng ngày, do vậy việc xử lý ngày tháng cực kỳ quan trọng khi bạn xử lý các bài viết và đăng tải lên website. Với PHP, ngôn ngữ lập trình này cung cấp các công cụ mạnh mẽ để tính toán ngày tháng giúp cho việc thao tác ngày tháng trở nên dễ dàng hơn. Trong bài viết này, cùng T3H tìm hiểu về Date, Time trong PHP.
Định dạng ngày tháng trong PHP với hàm date [] - Date time trong PHP
Hàm date dùng để chuyển đổi thời gian theo format mà lập trình viên chỉ định mong muốn.
Cú pháp: date[format, timestamp];
Trong đó:
- format: định dạng ngày tháng năm, giờ phút giây.
- timestamp[không bắt buộc] mặc định là hàm time[] [chính là thời gian hiện tại].
Chuyển đổi Timestamp với hàm getdate[]
Hàm getdate [] tùy ý chấp nhận một timestamp và trả về một mảng liên kết chứa thông tin về ngày tháng. Nếu bạn bỏ qua Time Stamp, nó sẽ hoạt động với thời gian thực được trả về theo hàm date[].
Bảng sau liệt kê các phần tử có trong mảng được trả về bởi getdate [].
STT | Mô tả | Ví dụ |
1 | seconds | 20 |
2 | minutes | 29 |
3 | hours | 22 |
4 | mdays | 11 |
5 | wday | 4 |
6 | mon | 7 |
7 | year | 1997 |
8 | yday | 19 |
9 | weekday | Thursday |
10 | month | January |
11 | 0 | 948370048 |
Bây giờ bạn có toàn quyền kiểm soát ngày và giờ. Bạn có thể định dạng ngày và giờ này ở bất kỳ định dạng nào bạn muốn.
Ví dụ:
Output
seconds = 10
minutes = 29
hours = 9
mday = 5
wday = 1
mon = 12
year = 2016
yday = 339
weekday = Monday
month = December
0 = 1480930150
Today's date: 5/12/2016
>>> Đọc thêm: Hằng số trong PHP - Tìm hiểu nhanh về hằng số trong PHP
Chuyển đổi Timestamp với hàm date[] - Date time trong PHP
Hàm date [] trả về một chuỗi được định dạng biểu thị một ngày. Bạn có thể thực hiện một lượng lớn quyền kiểm soát đối với định dạng mà date [] trả về với một đối số chuỗi mà bạn phải chuyển cho nó.
date[format,timestamp]
Date[] tùy chọn chấp nhận một dấu thời gian nếu bị bỏ qua thì ngày và giờ hiện tại sẽ được sử dụng. Bất kỳ dữ liệu nào khác mà bạn đưa vào chuỗi định dạng được chuyển đến date [] sẽ được bao gồm trong giá trị trả về.
Bảng sau liệt kê các mã mà một chuỗi định dạng có thể chứa:
STT | Mô tả | Ví dụ |
1 | a ‘am’ hoặc ‘pm’ viết thường | om |
2 | A ‘AM’ hoặc ‘PM’ viết hoa | PM |
3 | d Ngày trong tháng | 20 |
4 | D ngày trong tuần | Thu |
5 | F Tên tháng | Tháng Giêng |
6 | h Trả về giờ trong ngày kiểu 12h | 12 |
7 | H Trả về giờ trong ngày kiểu 24h | 22 |
8 | g | 22 |
9 | G | 12 |
10 | i | 22 |
11 | j Trả về ngày trong tháng, nhưng nếu ngày 365] | +5 |
Ví dụ:
Kết quả nhận được:
12/05/16 9:29:47
Today is 5 2016f December 2016 at 9:29 am
>>> Tham khảo: Khóa học lập trình PHP
Kết luận: Bài viết trên đã chỉ ra một số phương pháp để xử lý ngày tháng, Date Time trong PHP, tùy vào từng trường hợp, bạn có thể áp dụng để xử lý ngày tháng một cách khác nhau. Hy vọng bài viết trên hữu ích với bạn. Tìm hiểu thêm về PHP và các ngôn ngữ lập trình khác qua các khóa học lập trình tại Viện công nghệ thông tin T3H bạn nhé!