Hàm ngày và hàm tháng trong PHP

CHÀO MỪNG BẠN ĐẾN VỚI THƯ VIỆN HỌC TẬP & ĐÀO TẠO CƠ BẢN

Hàm ngày và tháng trong PHP

Hàm date() trong PHP được sử dụng để định dạng ngày và thời gian.

Hàm Date() trong PHP

Hàm Date() trong PHP được sử dụng để định dạng một nhãn thời gian, từ đó giúp cho việc đọc giữ liệu vè ngày và thời gian trở nên đơn giản hơn.

Ta có cú pháp như sau:

date(format,timestamp)
Parameter	Description
format	Required. Specifies the format of the timestamp
timestamp	Optional. Specifies a timestamp. Default is the current date and time

Cách lấy một ngày đơn giản

Các tham số định dạng của hàm date() xác định cách làm thế nào để định dạng ngày (hoặc thời gian).

Dưới đây là một số yếu tố thường được sử dụng cho ngày :

  • d – Đại diện cho ngày của tháng (01 tới 31)
  • m – Đại diện cho một tháng (01 tới 12)
  • Y – Đại diện cho một năm (trong bốn chữ số)
  • l (dạng viết thường của L) – Đại diện cho các ngày trong tuần

Các yếu tố khác như ” /”, ” . ” hoặc ” – ” cũng có thể được chèn vào giữa các yếu tố để thêm định dạng bổ sung.

Ví dụ dưới đây định dạng ngày hôm nay trong ba cách khác nhau:

<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>

Mẹo trong PHP – Cách tự động lấy năm bản quyền

Sử dụng hàm Date() để tự động update năm bản quyền trên website:

&copy; 2010-<?php echo date("Y");?>

Cách đơn giản để lấy thời gian

Dưới đây là một vài ký tự thường được sử dụng cho thời gian:

  • h – định dạng 12h (với số 0 đứng đằng trước) từ 01 đến 12
  • i – định dạng phút (với số 0 đứng đằng trước) từ 00 đến 59
  • s – định dạng giây (với số 0 đứng đằng trước) từ 00 đến 59
  • a – dạng viết thường của am hoặc pm

Ví dụ dưới đây cung cấp thời gian hiện tại trong định dạng cụ thể:

<?php
echo "The time is " . date("h:i:sa");
?>

Lấy múi thời gian

Nếu thời gian bạn nhận được từ mà không phải là thời gian chính xác, nguyên nhân có thể nằm ở lý do máy chủ của bạn là ở nước khác hoặc được thiết lập cho múi giờ khác.

Vì vậy, nếu bạn cần thiết lập thời gian theo một địa điểm cụ thể, bạn có thể thiết đặt một múi giờ nhất định.Ví dụ dưới đây đặt múi giờ “America / New_York”, sau đó cung cấp kết quả đầu ra thời gian hiện tại trong các định dạng cụ thể :

<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>

Tạo ngày với hàm mktime() trong PHP

Các tham số tùy chọn thời gian trong hàm date() xác định một dấu thời gian. Nếu bạn không chỉ định một dấu thời gian, ngày và thời gian hiện tại sẽ được sử dụng (như trong ví dụ trên).

Các hàm mktime() trả về nhãn thời gian cho một ngày. Các nhãn Unix chứa số giây giữa Unix Epoch (ngày 01 Tháng 1 1970 00:00:00 GMT) và thời gian quy định.

Ta có cú pháp như sau:

<?php
$d=mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

Tạo ngày tháng từ chuỗi với hàm strtotime() trong PHP

Hàm PHP strtotime() được sử dụng để chuyển dạng ngày tháng dễ đọc cho con người sang dạng thời gian Unix

strtotime(time,now)

Ví dụ: 

<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

PHP khá thông minh về việc chuyển đổi một chuỗi sang một ngày, vì vậy bạn có thể đưa vào các giá trị khác nhau:

<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";

$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";

$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>

Tuy nhiên, hàm strtotime() không hoàn hảo, do vậy hãy nhớ kiểm tra chuỗi mà bạn đưa vào.


Nhiều ví dụ khác về hàm ngày tháng

Ví dụ dưới đây đưa ra các ngày vào ngày thứ 7 trong vòng 6 tuần:

<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);

while ($startdate < $enddate) {
  echo date("M d", $startdate) . "<br>";
  $startdate = strtotime("+1 week", $startdate);
}
?>

Ví dụ bên dưới cung cấp số ngày còn lại cho đến ngày mùng 4 tháng 7:

<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>

Tham khảo thêm các khóa học lập trình web từ Front-end đến Back-end do trực tiếp giảng viên quốc tế trường FPT Arena giảng dạy giúp bạn thành thạo kỹ năng lập trình web từ CƠ BẢN – NÂNG CAO với giá chỉ từ 290,000đ: