Cấu trúc dữ liệu Tuple trong Python
1. Đặc điểm của Tuple trong Python Tuple trong Python dùng để lưu trữ nhiều phần...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
Nhiều bạn copy hàm date() về dùng mà chưa hiểu rõ. Kết quả là cứ thử đi thử lại đối số cho đến khi ra đúng. Mắc công quá! Hiểu rõ hàm date() một lần là dùng chuẩn luôn, khỏi “mò mò thử thử”. Let’s go! 1. Chức năng của hàm date() Hàm date() trong […]
Nhiều bạn copy hàm date() về dùng mà chưa hiểu rõ. Kết quả là cứ thử đi thử lại đối số cho đến khi ra đúng.
Mắc công quá! Hiểu rõ hàm date() một lần là dùng chuẩn luôn, khỏi “mò mò thử thử”. Let’s go!
Hàm date() trong PHP trả về thời gian hiện tại dạng chuỗi, theo định dạng (format) cho trước. Nó cũng định dạng được một dấu thời gian (timestamp) bất kỳ.
Lưu ý: Dấu thời gian (timestamp) là một cách biểu diễn thời gian. Nó thường là một số nguyên được mã hóa từ một thời gian nào đó. Ví dụ, ta có thời gian: 19-10-2021 05:30:59 có thể được mã hóa thành timestamp là 1634614259.
Trong PHP, có thể dùng lớp DateTime để mã hóa thời gian thành timestamp như sau:
$date = new DateTime("19-10-2021 05:30:59");
echo $date->getTimestamp();//1634614259
date(string $format, int $timestamp = null): stringTrong đó:
$format là chuỗi định dạng theo quy ước của lớp DateTimeInterface::format() trong PHP. Nếu sai định dạng có thể gây ra lỗi.$timestamp là tham số tùy chọn, có thể có hoặc không. Nếu không có thì hàm date() sẽ trả về thời gian hiện tại theo $format. Nếu có timestamp thì hàm date() sẽ trả về thời gian được biểu diễn của timestamp theo $format.Lưu ý: Nếu $format sai định dạng hoặc $timestamp không phải số nguyên thì sẽ báo lỗi.
Các định dạng trong hàm date() được quy ước sẵn theo format() của lớp DateTimeInterface::format(). Bên dưới là một số quy ước thường dùng:
| Ký tự format | Mô tả | Giá trị trả về |
Ngày (day) | ||
| d | Ngày của tháng, có 2 ký số (có thể bắt đầu với 0) | 01, 02 đến 09 đến 31 |
| D | Có 3 ký tự viết tắt đại diện cho thứ trong tuần | Mon, Tue đến Sun |
| j | Ngày của tháng, không bắt đầu với 0 | 1, 2 đến 9 đến 31 |
| l | Tên đầy đủ của thứ trong tuần | Monday, Tuesday đến Sunday |
| N | Là số đại diện cho ngày trong tuần theo tiêu chuẩn ISO-8601 | 1 (thứ hai) đến 7 (chủ nhật) |
| S | Có 2 ký tự thể hiện thứ tự của ngày trong tháng | st, nd, rd hoặc th. Thường dùng với ký tự format j, ví dụ 5th |
| W | Là số đại diện cho ngày trong tuần | 0 (chủ nhật) đến 6 (thứ bảy) |
| z | Ngày trong năm, bắt đầu từ 0 | 0 đến 365 |
Tuần (week) | ||
| W | Số tuần trong năm theo tiêu chuẩn ISO-8601 | Ví dụ: 42 (tuần thứ 42 trong năm) |
Tháng (month) | ||
| F | Tên đầy đủ của tháng | January đến December |
| m | Là số đại diện cho tháng (có thể bắt đầu với 0) | 01 đến 12 |
| M | 3 ký tự viết tắt đại điện cho tháng | Jan, Feb đến Dec |
| n | Là số đại diện cho tháng, không bắt đầu với 0 | 1 đến 12 |
| t | Số ngày tối đa có thể có trong một tháng | 28, 29, 30, 31 |
Năm (year) | ||
| L | Cho biết có phải là năm nhuận hay không | Trả về 1 nếu năm nhuận, 0 nếu năm không nhuận |
| Y | Có 4 ký tự đại diện cho một năm | Ví dụ, 1999 hoặc 2003 |
| y | Có 2 ký tự đại diện cho một năm | Ví dụ, 99 hoặc 03 |
Giờ (time) | ||
| a | Viết thường giờ am hoặc pm | am hoặc pm |
| A | Viết hoa giờ AM hoặc PM | AM hoặc PM |
| g | Định dạng giờ 12 tiếng và không bắt đầu với 0 | 1, 2 đến 12 |
| G | Định dạng giờ 24 tiếng và không bắt đầu với 0 | 0, 1, 2 đến 23 |
| h | Định dạng giờ 12 tiếng và bắt đầu với 0 | 01, 02 đến 12 |
| H | Định dạng giờ 24 tiếng và bắt đầu với 0 | 00, 01, 02 đến 23 |
| i | Định dạng phút bắt đầu với 0 | 00, 01 đến 59 |
| s | Định dạng giây bắt đầu với 0 | 00, 01 đến 59 |
| u | Là microseconds. Hàm date() sẽ luôn ra 000000 vì không hỗ trợ microseconds. Lớp Datetime thì hỗ trợ microseconds. | Ví dụ: 654321 |
| v | Là milliseconds. Tương tự như u với date() và Datetime | Ví dụ: 654 |
Timezone | ||
| e | Thể hiện múi giờ (timezone) | Ví dụ: UTC, GMT, Atlantic/Azores |
| O | Chênh lệch múi giờ với giờ GMT (+0) (không có : ở giữa giờ và phút) | Ví dụ: +0200 |
| P | Chênh lệch múi giờ với giờ GMT (+0) (có : ở giữa giờ và phút) | Ví dụ: +02:00 |
| T | Viết tắt múi giờ (nếu biết). Còn không thì lấy chênh lệch với giờ GMT (+0) | Ví dụ: EST, MDT hoặc +05 |
Full date/time | ||
| c | Định dạng thời gian theo tiêu chuẩn ISO 8601 | Ví dụ: 2004-02-12T15:19:21+00:00 |
| r | Định dạng thời gian theo tiêu chuẩn RFC 2822 | Ví dụ: Thu, 21 Dec 2000 16:01:07 +0200 |
$today1 = date("F j, Y, g:i a");//October 5, 2021, 6:29 am
$today2 = date("m.d.y");//10.05.21
$today3 = date("j, n, Y");//5, 10, 2021
$today4 = date("Ymd");//20211005
$today5 = date('h-i-s, j-m-y, it is w Day');//06-29-51, 5-10-21, 2931 2951 2 Tueam21
$today6 = date('\i\t \i\s \t\h\e jS \d\a\y.');//it is the 5th day.
$today7 = date("D M j G:i:s T Y");//Tue Oct 5 6:29:51 CEST 2021
$today8 = date('H:m:s \m \i\s\ \m\o\n\t\h');//06:10:51 m is month
$today9 = date("H:i:s");//06:29:51
$today10 = date("Y-m-d H:i:s");//2021-10-05 06:29:51
//date() có timestamp
$datetime = date('d-m-Y H:i:s', 1634614259);//19-10-2021 05:30:59
$datetime = date('d-m-Y H:i:s');//05-10-2021 06:37:16
//hoặc
date_default_timezone_set('Asia/Ho_Chi_Minh');
$datetime = date('d-m-Y H:i:s');//05-10-2021 11:37:16
Kết quả của hàm date() có và không thiết lập timezone sẽ lệch giờ nhau. Không thiết lập thì PHP dùng timezone mặc định trong file php.ini.
Nếu sử dụng XAMPP thì vào Config của Apache để cấu hình lại file php.ini.
Tìm date.timezone và thay đổi timezone theo những timezone được hỗ trợ List of Supported Timezones mà bạn muốn.
Giờ thì bạn đã hiểu rõ date() trong PHP, hết phải “mò mò thử thử” rồi nhé.