Các hàm date_create()
, date_format()
, date_add()
trong PHP được dùng để tạo, định dạng và thêm thời gian cho đối tượng (object) DateTime mà người dùng xác định. Chúng đóng vai trò quan trọng trong việc thao tác với các dữ liệu thời gian và lịch trong ứng dụng web, từ việc định dạng và hiển thị ngày tháng cho đến tính toán khoảng cách thời gian. Hãy cùng Vietnix tìm hiểu thêm về các hàm này qua bài viết dưới đây.
Các hàm xử lý ngày tháng trong PHP
Đôi khi trong lập trình, chúng ta cần thực hiện các phép tính cộng ngày tháng, năm, giờ, phút, giây vào một mốc thời gian cụ thể. Ngôn ngữ PHP cung cấp sẵn một số hàm hỗ trợ đắc lực cho việc này. Ba trong số đó là date_create()
, date_format()
và date_add()
.
Mọi người cũng xem:
1. Hàm date_create() là gì?
Hàm này được sử dụng để tạo đối tượng (object) DateTime bằng cách sử dụng chuỗi ngày/giờ và múi giờ. Giá trị mặc định của chuỗi “ngày/giờ” trên là ngày/giờ ở hiện tại.
Cú pháp | DateTime date_create(time, timezone); |
Tham số | Hàm có 2 tham số tùy chọn không bắt buộc như sau: – time : (tùy chọn) Chỉ định chuỗi ngày/giờ. NULL hoặc giá trị mặc định cho biết ngày/giờ hiện tại. Bạn có thể tham khảo liên kết này để biết các định dạng ngày và giờ được hỗ trợ trong PHP. – múi giờ : (tùy chọn) Múi giờ của thời gian. |
Giá trị trả về | Hàm này có kết quả trả về một đối tượng mới DateTime chỉ định cho một ngày. |
2. Hàm date_format() là gì?
Hàm date_format()
định dạng một ngày nhất định. Ngày được cung cấp dưới dạng DateTime thường được trả về bởi hàm date_create()
và định dạng là một chuỗi mà chúng ta muốn định dạng ngày theo đó.
Cú pháp | string date_format(object, format); |
Tham số | Hàm này chứa hai tham số, tất cả những tham số này đều bắt buộc phải được cung cấp. – object : Chỉ định một đối tượng DateTime được trả về bởi date_create() .– format : Chỉ định định dạng cho ngày tháng. Nó chấp nhận các định dạng được hỗ trợ bởi hàm date() trong PHP. Ví dụ – H(Định dạng 24 giờ), h(Định dạng 12 giờ), i(phút: 00 đến 59), s (giây: 00 đến 59),… |
Giá trị trả về | Hàm date_format() trả về một chuỗi đại diện cho ngày được định dạng theo định dạng đã chỉ định khi định dạng thành công, nếu không, nó trả về false nếu thất bại. |
Ví dụ
<?php
// using date_create() function to create
// DateTime object
$date=date_create("2018-03-15");
// using date_format() function to format date
echo date_format($date, "Y/m/d H:i:s");
?>
Outut như sau:
15/03/2018 00:00:00
3. Hàm date_add() là gì?
Hàm date_add()
được sử dụng để thêm ngày, tháng, năm, giờ, phút và giây vào một Ngày. Ngày được cung cấp dưới dạng đối tượng DateTime cho hàm date_add() và khoảng thời gian mà chúng tôi muốn thêm vào Ngày của mình được cung cấp dưới dạng đối tượng DateInterval.
Cú pháp | DateTime date_add(object, interval); |
Tham số | Hàm này chấp nhận ba tham số, tất cả đều bắt buộc phải cung cấp. – Đối tượng (object): Chỉ định một đối tượng DateTime được trả về bởi date_create() . Hàm này trả về một đối tượng DateTime mới.– Khoảng thời gian (interval): Chỉ định một đối tượng DateInterval tức là nó lưu trữ một lượng thời gian cố định (tính theo năm, tháng, ngày, giờ, v.v.) hoặc một chuỗi thời gian tương đối ở định dạng mà hàm tạo của DateTime hỗ trợ. |
Giá trị trả về | Hàm này trả về một đối tượng DateTime nếu thành công, ngược lại FALSE nếu thất bại. |
Ví dụ
Các chương trình bên dưới minh họa hàm date_add()
trong PHP :
<?php
// PHP program to add 40 days in date
$date=date_create("2018-12-10");
date_add($date, date_interval_create_from_date_string("40 days"));
echo date_format($date, "Y-m-d");
?>
Output như sau:
2019-01-19
Ví dụ 2:
<?php
//PHP program to add 1 year, 10 mins, 23 secs in date
$date=date_create("2018-12-10");
date_add($date, date_interval_create_from_date_string("1 year
+ 10 mins + 23 secs"));
echo date_format($date, "Y-m-d H:i:s");
?>
Output như sau:
2019-12-10 00:10:23
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 date_create()
, date_format()
, date_add()
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!