Hàm date[]
sẽ xuất ra một chuỗi thời gian dựa theo định dạng được truyền vào và số nguyên timestamp.
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Cú pháp
Cú pháp: date[ $format, $timestamp];
Trong đó:
$forma
t là định dạng thời gian mà hàm sẽ trả về.$timestamp
là một số nguyên Unix timestamp. nếu không truyền tham số này, nó sẽ lấy timestamp của thời điểm hiện tại.
Kết quả trả về
Hàm sẽ trả về một chuỗi thời gian đúng với định dạng $format
đã truyền vào nếu chạy thành công. Nếu $timestamp
truyền vào không phải là số hàm sẽ trả về FALSE và sẽ xuất ra cảnh báo.
Bài viết này được đăng tại [free tuts .net]
Ví dụ
Cách sử dụng hàm $date[]
lấy thời gian hiện tại.
Code
echo date["F j, Y, g:i a"]."
"; echo date["m.d.y"]."
"; echo date["j, n, Y"]."
"; echo date["Ymd"]."
"; echo date['h-i-s, j-m-y, it is w Day']."
"; echo date['\i\t \i\s \t\h\e jS \d\a\y.']."
"; echo date["D M j G:i:s T Y"]."
"; echo date['H:m:s \m \i\s\ \m\o\n\t\h']."
"; echo date["H:i:s"]."
"; echo date["Y-m-d H:i:s"]."
";
Kết quả
May 4, 2017, 2:22 pm 05.04.17 4, 5, 2017 20170504 02-22-35, 4-05-17, 2231 2235 4 Thupm17 it is the 4th day. Thu May 4 14:22:35 ICT 2017 14:05:35 m is month 14:22:35 2017-05-04 14:22:35
Định dạng thời gian tại một thời điểm nào đó.
Code
$date = mktime[15,50,30,4,30,2017]; echo date["F j, Y, H:i a", $date]."
"; echo date["Y-m-d H:i:s", $date]."
";
Kết quả
April 30, 2017, 15:50 pm 2017-04-30 15:50:30
Tham khảo: php.net
Hàm date[] sẽ xuất ra một chuỗi thời gian dựa theo định dạng được truyền vào và số nguyên timestamp.
Nội dung chính
- Kết quả trả về
- 1. Chức năng của hàm date[]
- 2. Cú pháp của hàm date[]
- 3. Một số ví dụ sử dụng hàm date[]
- 3.1. Các định dạng thời gian với hàm date[]
- 3.2. Một số ví dụ về định dạng với hàm date[]
- 3.3. Hàm date[] với default timezone
- 3.4. Thay đổi default timezone trong PHP
Nội dung chính
- Kết quả trả về
- 1. Chức năng của hàm date[]
- 2. Cú pháp của hàm date[]
- 3. Một số ví dụ sử dụng hàm date[]
- 3.1. Các định dạng thời gian với hàm date[]
- 3.2. Một số ví dụ về định dạng với hàm date[]
- 3.3. Hàm date[] với default timezone
- 3.4. Thay đổi default timezone trong PHP
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
Cú pháp
Cú pháp: date[ $format, $timestamp];
Trong đó:
- $format là định dạng thời gian mà hàm sẽ trả về.
- $timestamp là một số nguyên Unix timestamp. nếu không truyền tham số này, nó sẽ lấy timestamp của thời điểm hiện tại.
Kết quả trả về
Hàm sẽ trả về một chuỗi thời gian đúng với định dạng $format đã truyền vào nếu chạy thành công. Nếu $timestamp truyền vào không phải là số hàm sẽ trả về FALSE và sẽ xuất ra cảnh báo.
Bài viết này được đăng tại [free tuts .net]
Ví dụ
Cách sử dụng hàm $date[] lấy thời gian hiện tại.
Code
echo date["F j, Y, g:i a"].""; echo date["m.d.y"]."
"; echo date["j, n, Y"]."
"; echo date["Ymd"]."
"; echo date['h-i-s, j-m-y, it is w Day']."
"; echo date['\i\t \i\s \t\h\e jS \d\a\y.']."
"; echo date["D M j G:i:s T Y"]."
"; echo date['H:m:s \m \i\s\ \m\o\n\t\h']."
"; echo date["H:i:s"]."
"; echo date["Y-m-d H:i:s"]."
";
Kết quả
May 4, 2017, 2:22 pm 05.04.17 4, 5, 2017 20170504 02-22-35, 4-05-17, 2231 2235 4 Thupm17 it is the 4th day. Thu May 4 14:22:35 ICT 2017 14:05:35 m is month 14:22:35 2017-05-04 14:22:35Định dạng thời gian tại một thời điểm nào đó.
Code
$date = mktime[15,50,30,4,30,2017]; echo date["F j, Y, H:i a", $date].""; echo date["Y-m-d H:i:s", $date]."
";
Kết quả
April 30, 2017, 15:50 pm 2017-04-30 15:50:30Tham khảo: php.net
Mình thấy các bạn thường copy hàm
date[]
để dùng nhưng có thể là chưa hiểu rõ về hàm này. Do đó, dẫn đến việc cứ copy rồi thử nhiều đối số với hàm date[]
cho đến khi bạn được kết quả mong muốn.
Nội dung chính
- 1. Chức năng của hàm date[]
- 2. Cú pháp của hàm date[]
- 3. Một số ví dụ sử dụng hàm date[]
- 3.1. Các định dạng thời gian với hàm date[]
- 3.2. Một số ví dụ về định dạng với hàm date[]
- 3.3. Hàm date[] với default timezone
- 3.4. Thay đổi default timezone trong PHP
Nhưng như thế thì mắc công quá. Sao chúng ta không cùng nhau hiểu rõ về hàm date[]
để sau này dùng một phát là chính xác luôn, không cần “mò mò thử thử” cho phí sức và tốn thời gian nữa. Let’s go!
1. Chức năng của hàm date[]
Hàm date[]
trong PHP có chức năng trả về thời gian hiện tại dưới dạng chuỗi ký tự theo định dạng
[format] thiết lập trước. Nếu bạn có một dấu thời gian [timestamp] và muốn định dạng nó theo một định dạng ngày giờ nào đó, hàm date[]
cũng sẽ thực hiện giúp bạn.
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
2. Cú pháp của hàm date[]
date[string $format, int $timestamp = null]: string
Trong đó:
$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.- Kiểu trả về là chuỗi ký tự [string] của thời gian theo định dạng thiết lập trước.
Lưu ý: Nếu $format không đúng định dạng theo quy định hoặc $timestamp không phải kiểu số nguyên thì sẽ gây ra lỗi.
3. Một số ví dụ sử dụng hàm date[]
3.1. Các định dạng thời gian với hàm date[]
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 |
3.2. Một số ví dụ về định dạng với hàm date[]
$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
3.3. Hàm date[] với default timezone
$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[]
khi không thiết lặp timezone và khi thiết lặp timezone là khác nhau về giờ. Khi không thiết lặp timezone thì PHP sẽ lấy thời gian theo timezone mặc định được cấu hình
trong file php.ini.
3.4. Thay đổi default timezone trong PHP
Nếu sử dụng XAMPP thì vào Config của Apache để cấu hình lại file php.ini.
Cấu hình file php.iniTìm date.timezone và thay đổi timezone theo những timezone được hỗ trợ List of Supported Timezones mà bạn muốn.
Đổi timezone trong file php.iniQua bài này, hy vọng các bạn sẽ hiểu rõ về date[] trong PHP và tránh những bối rối khi sử dụng hàm này.
- Lập trình giao tiếp màn hình LCD với board mạch Arduino
- Phương thức tĩnh [static method] và thuộc tính tĩnh [static property] trong PHP
- Tạo [create] và ghi [write] file trong PHP
- Thuật toán sắp xếp chèn trực tiếp [Insertion Sort]
- Kiểm tra [validation] dữ liệu trong html form với PHP