Vì vậy, hôm nay mình sẽ chỉ cho bạn những cách tốt nhất để làm việc với đối tượng date time trong WordPress.
Định dạng DateTime
Bảng dưới đây là định dạng DateTime phổ biến. Danh sách đầy đủ các bạn có thể tham khảo trong tài liệu của PHP.
Year:
Y
: 2022y
: 22
Month:
M
: Jan – Decm
: 01 – 12F
: January – December
Day:
D
: Mon – Sund
: 01 – 31
Hour:
H
: 00 – 23h
: 01 – 12A
: AM hoặc PM
Minute:
i
: 01 – 59
Second:
s
: 01 – 59
Đối tượng DateTime
Ngày hiện tại
$current_date = current_datetime(); echo $current_date->format( 'd/m/Y' ); // nếu bạn muốn sử dụng định dạng theo cài đặt echo $current_date->format( get_option('date_format') );
Theo ID bài viết
$post_date = get_post_datetime( $post_id ); echo $post_date->format( 'd/m/Y' );
Chuyển đổi từ một chuỗi (string)
$meta_date = '13/01/2020'; $datetime = DateTime::createFromFormat( 'd/m/Y', $meta_date ); echo $datetime->format( 'd M Y' ); // 13 Jan 2020
Ngày xuất bản của Bài viết và Bình luận được lưu trữ với định dạng Y-m-d H:i:s
. Nếu chuỗi ở định dạng đó, bạn có thể sử dụng đoạn code dưới đây:
$post_date = '2020-01-16 12:00:00'; $datetime = new DateTime( $post_date ); echo $datetime->format( 'd M Y' ); // 16 Jan 2020
Khoảng cách giữa các DateTime
Nếu bạn muốn biết khoảng cách giữa 2 DateTime theo tháng, ngày, giờ thì bạn có thể tham khảo đoạn code dưới đây:
$datetime1 = DateTime::createFromFormat( 'd/m/Y H:i', '10/02/2019 10:00' ); $datetime2 = DateTime::createFromFormat( 'd/m/Y H:i', '10/02/2020 23:00' ); $diff = $datetime1->diff( $datetime2 ); $days_ago = $diff->days; $months_ago = $diff->m + ($diff->y * 12); $hours_ago = $diff->h + ($diff->days * 24); echo "{$days_ago} days ago"; // 365 ngày trước echo "{$hours_ago} hours ago"; // 8776 giờ trước echo "{$months_ago} months ago"; // 12 tháng trước
Sửa đổi DateTime
Trong trường hợp bạn muốn thay đổi DateTime. Có thể là tăng thêm hoặc giảm đi bao nhiêu ngày, hoặc tháng cụ thể. Thì bạn có thể dùng đoạn code dưới đây:
$datetime = DateTime::createFromFormat( 'd/m/Y', '10/02/2020' ); $datetime->modify( '+1 day' ); echo $datetime->format( 'd M Y' ); // 11 Feb 2020 $datetime->modify( '+2 day +1 month' ); echo $datetime->format( 'd M Y' ); // 14 Mar 2020 $datetime->modify( '-10 day -2 month -1 year' ); echo $datetime->format( 'd M Y' ) ); // 04 Jan 2019
Lời kết
Mình hy vọng bài viết này sẽ giúp được các bạn. Đặc biệt là với những bạn đang làm việc với theme hoặc plugin liên quan đến thời gian trong WordPress.
Nếu bài viết này hữu ích và giúp tiết kiệm được thời gian của bạn, hãy giúp mình chia sẻ nó. Ngoài ra nếu bạn quan tâm đến các chủ đề tương tự như vậy, hãy đọc các bài viết Thủ thuật WordPress khác và follow Fanpage để không bỏ lỡ bài viết mới từ mình nhé.