Hàm xử lý thời gian trong PHP cung cấp các công cụ mạnh mẽ để làm việc với các khía cạnh thời gian và ngày tháng trong ứng dụng web. Bằng cách sử dụng các hàm có sẵn, người phát triển có thể thực hiện các tác vụ như định dạng ngày tháng, tính toán khoảng thời gian, chuyển đổi giữa các định dạng thời gian, và nhiều công việc khác liên quan đến thời gian và ngày tháng. Hãy cùng VIetnix tìm hiểu thêm về hàm xử lý thời gian trong PHP qua bài viết sau đây.
Hàm xử lý thời gian là gì?
Tương tự như các ngôn ngữ khác, trong PHP cũng có thể xem ngày và thời gian bằng các hàm có sẵn là hàm date()
và time()
. Bạn cũng sẽ thấy các tùy chọn định dạng khác nhau có sẵn với các hàm này, hiểu thêm cách sử dụng và triển khai chúng.
Xem ngày và thời gian là các thao tác được sử dụng thường xuyên nhất trong PHP, khi thực hiện truy vấn SQL, khi thiết kế web,… PHP cung cấp cho người dùng các chức năng xác định trước các tác vụ này. Trong bài viết này sẽ đề cập đến hai hàm xử lý thời gian trong PHP cho ngày, thời gian lần lượt là date()
và time()
. Các hàm xử lý thời gian như trên là một phần quan trọng của PHP, giúp đơn giản hóa việc quản lý và hiển thị thông tin thời gian trong ứng dụng.
Mọi người cũng xem:
Các hàm xử lý thời gian trong PHP
- 1. Hàm date()
- 2. Hàm time()
1. Hàm date()
Hàm date()
chuyển đổi các mốc thời gian thành định dạng ngày và giờ dễ đọc hơn.
Vì sao cần hàm date() ?
Máy tính lưu trữ ngày và giờ ở định dạng có tên là UNIX Timestamp, định dạng này đo thời gian bằng số giây kể từ khi bắt đầu Kỷ nguyên Unix (Giờ chuẩn Greenwich nửa đêm vào ngày 1 tháng 1 năm 1970, tức là ngày 1 tháng 1 năm 1970, 00:00:00 GMT ). Vì đây là định dạng không thực tế để con người đọc, PHP chuyển đổi mốc thời gian thành định dạng mà con người có thể đọc và dễ hiểu hơn.
Cú pháp | date(format, timestamp) |
Tham số | format chỉ ra kiểu định dạng của ngày giờ được trả về. timestamp là tham số tùy chọn, nếu không truyền tham số này vào hàm thì mốc thời gian hiện tại sẽ được sử dụng. |
Ví dụ
<?php
echo "Today's date is :";
$today = date("d/m/Y");
echo $today;
?>
Output như sau:
Today's date is :16/08/2023
Các tùy chọn định dạng có sẵn
Tham số định dạng của hàm date()
là một chuỗi có thể chứa nhiều ký tự cho phép tạo ngày ở nhiều định dạng khác nhau. Các ký tự định dạng liên quan đến ngày thường được sử dụng trong chuỗi định dạng:
d
: Thể hiện ngày trong tháng; hai chữ số có số 0 đứng đầu (01 hoặc 31).D
: Thể hiện ngày trong tuần trong văn bản dưới dạng viết tắt (Mon to Sun).m
: Biểu thị tháng bằng các số có số 0 đứng đầu (01 hoặc 12).M
: Thể hiện tháng trong văn bản, viết tắt (Jan to Dec).y
: Thể hiện năm ở hai chữ số (08 hoặc 14).Y
: Thể hiện năm có bốn chữ số (2008 hoặc 2014).
Các phần trong “date” có thể phân tách bằng cách chèn ký tự khác, chẳng hạn như dấu gạch nối (-), dấu chấm (.), dấu gạch chéo (/) hoặc dấu cách để bổ sung định dạng thêm trực quan.
<?php
echo "Today's date in various formats:" . "\n";
echo date("d/m/Y") . "\n";
echo date("d-m-Y") . "\n";
echo date("d.m.Y") . "\n";
echo date("d.M.Y/D");
?>
Output như sau:
Today's date in various formats:
16/08/2023
16-08-2023
16.08.2023
16.Aug.2023/Wed
Các ký tự sau có thể được sử dụng cùng với hàm date()
để định dạng chuỗi thời gian:
h
: Biểu thị giờ ở định dạng 12 giờ với các số 0 đứng đầu (01 đến 12).H
: Biểu thị giờ ở định dạng 24 giờ với các số 0 đứng đầu (00 đến 23).i
: Biểu thị số phút có số 0 đứng đầu (00 đến 59).s
: Biểu thị giây có số 0 đứng đầu (00 đến 59).a
: Đại diện cho kinh tuyến trước (antemeridian) và kinh tuyến sau (post meridian) viết thường (sáng hoặc chiều).A
: Đại diện cho kinh tuyến trước (antemeridian) và kinh tuyến sau (post meridian) ở dạng viết hoa (AM hoặc PM).
Ví dụ:
<?php
echo date("h:i:s") . "\n";
echo date("M,d,Y h:i:s A") . "\n";
echo date("h:i a");
?>
Output như sau:
07:19:55
Aug,16,2023 07:19:55 AM
07:19 am
2. Hàm time()
Hàm time()
được sử dụng để lấy thời gian hiện tại dưới dạng Unix timestamp (số giây kể từ khi bắt đầu kỷ nguyên Unix: ngày 1 tháng 1 năm 1970, 00:00:00 GMT). Các ký tự sau có thể được sử dụng để định dạng chuỗi thời gian:
h
: Biểu thị giờ ở định dạng 12 giờ với các số 0 đứng đầu (01 đến 12).H
: Biểu thị giờ ở định dạng 24 giờ với các số 0 đứng đầu (00 đến 23).i
: Biểu thị số phút có số 0 đứng đầu (00 đến 59).s
: Biểu thị giây có số 0 đứng đầu (00 đến 59).a
: Đại diện cho kinh tuyến trước và kinh tuyến sau viết thường (sáng hoặc chiều).A
: Đại diện cho kinh tuyến trước và kinh tuyến sau viết hoa (AM hoặc PM).
Ví dụ
<?php
$timestamp = time();
echo($timestamp);
echo "\n";
echo(date("F d, Y h:i:s A", $timestamp));
?>
Output như sau:
1692170702
August 16, 2023 07:25:02 AM
Hàm mktime()
Hàm mktime()
được sử dụng để tạo timestamp (mốc thời gian) cho một ngày và giờ cụ thể. Nếu không có ngày và giờ nào được cung cấp, timestamp cho ngày và giờ hiện tại sẽ được trả về.
Cú pháp
mktime(hour, minute, second, month, day, year)
Ví dụ
<?php
echo mktime(14, 45, 34, 8, 17, 2023);
?>
Output như sau: 1692283534
.
Kết quả dòng code trên đã tạo mốc thời gian là ngày 17 tháng 8 năm 2023, 14 giờ 45 phút 34 giây.
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về các hàm xử lý thời gian trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!