PHP - Date & Time

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
    thời gian in ();
?>

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

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:

KeyMiêu tảVí dụ
secondsGiây của phút (0-59)20
minutesPhút của giờ (0 - 59)29
hoursGiờ của ngày (0 - 23)22
mdayNgày của tháng (1 - 31)11
wdayNgày trong tuần (0 - 6)4
monTháng trong năm (1 - 12)7
yearNăm (4 chữ số)1997
ydayNgày trong năm ( 0 - 365 )19
weekdayNgày trong tuầnThursday
monthTháng trong nămJanuary
0Timestamp948370048

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

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ạngMiêu tảVí dụ
a'am' hoặc 'pm' dạng chữ thườngpm
A'AM' hoặc 'PM' dạng chữ hoaPM
dNgày của tháng, dạng số bắt đầu từ 0120
DNgày trong tuần (3 chữ cái)Thu
FTên thángJanuary
hGiờ (định dạng 12h, dạng từ 01)12
HGiờ (định dạng 24h, dạng từ 01)22
gGiờ (định dạng 12h, dạng từ 1)12
GGiờ (định dạng 24h, dạng từ 1)22
iPhút ( 0 - 59 )23
jNgày trong tháng (dạng 1)20
l (Lower 'L')Ngày trong tuầnThursday
LNăm nhuận ('1' cho yes, '0' cho no)1
mTháng trong năm (số, dạng 01)1
MTháng trong năm (3 chữ cái)Jan
rDate theo định dạng RFC 2822Thu, 21 Dec 2000 16:01:07 +0200
nTháng trong năm (số, dạng 1)2
sGiây trong giờ20
UTime stamp948372444
yNăm (2 chữ số)06
YNăm (4 chữ số)2006
zNgày trong năm (0 - 365)206
ZOffset 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") . "<br></br>";


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

Hy vọng bạn đã hiểu cách định dạng date và time theo yêu cầu của bạn.

Bình luận