AZCode.vn AZCode

Date & Time trong PHP

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();
?>

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ả:

Hàm time trong PHP

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]";
   
?>

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ả:

Hàm getdate trong PHP

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") . "
"; // 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)); ?>

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ả:

Hàm date trong PHP

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.

Các bài học PHP phổ biến khác tại AZCode: