Viết tập lệnh php để hiển thị riêng ngày và giờ hiện tại

Tôi đã cố gắng đề cập đến 350 chức năng và phương pháp tại đây. Bạn chắc chắn nên xem qua tài liệu để đọc về các chức năng không có trong hướng dẫn. Nếu bạn có bất kỳ câu hỏi nào, vui lòng cho tôi biết trong phần bình luận

Đối phó với ngày tháng và thời gian là một trong những điều có thể làm nản lòng các lập trình viên rất nhiều. Đồng thời, chúng là nền tảng để phát triển phần mềm, được sử dụng từ mọi thứ từ meta và cách mọi thứ được sắp xếp cho đến trình kích hoạt dựa trên thời gian và nhiều thứ ở giữa

Ngày và giờ cũng dễ bị lỗi. Xử lý chúng không chính xác và chúng có thể gây nhầm lẫn cho người dùng cuối cũng như các lập trình viên đồng nghiệp

Đây là hướng dẫn nhanh để xử lý ngày và giờ cụ thể bằng ngôn ngữ lập trình PHP. Nó có nghĩa là tham chiếu đến những nhu cầu phổ biến nhất mà bạn sẽ có, chẳng hạn như định dạng và điều chỉnh ngày tháng. Nó đơn giản, nhưng nó có khả năng đáp ứng 80% nhu cầu của bạn

Mục lục

Nghiên cứu này được mang đến cho bạn nhờ sự hỗ trợ từ Frontend Masters, đối tác học tập chính thức của CSS-Tricks

Cần đào tạo phát triển front-end?

Frontend Masters là nơi tốt nhất để có được nó. Họ có các khóa học về tất cả các công nghệ front-end quan trọng nhất. Bạn muốn trở thành full-stack?

Tham gia các khóa học

Lấy ngày và giờ hiện tại

Một điều cần biết là ngày và giờ có thể được biểu diễn dưới ba dạng. dấu thời gian (tôi. e. thời gian kỷ nguyên), một đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 và một chuỗi

Đầu tiên, một công thức để có được ngày và giờ hiện tại

<?php $now = new DateTime(); var_dump($now); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 22:25:11.790490" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }

Điều này cung cấp một đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 có thể được sử dụng để tạo chuỗi ngày và giờ

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM

Bằng trực giác, bạn biết rằng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390817 đề cập đến năm, <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390818 đề cập đến tháng, <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390819 đề cập đến ngày trong tháng, v.v. Bạn có thể tìm thấy danh sách đầy đủ các tham số trong hướng dẫn sử dụng PHP, nhưng tôi sẽ bỏ một số tham số phổ biến nhất ở đây để tham khảo

Ngày trong tháng<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390819Ngày trong tháng. hai chữ số có số 0 đứng đầu_______9_______1 – <?php echo time(); // 16341390812<?php echo time(); // 16341390813Ngày trong tháng không có số 0 đứng đầu<?php echo time(); // 16341390814 – <?php echo time(); // 16341390812_______9_______6Bao gồm hậu tố tiếng Anh. <?php echo time(); // 16341390817, <?php echo time(); // 16341390818, <?php echo time(); // 16341390819, <?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }0 (e. g. <?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }1, <?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }2, <?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }3, <?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }4)Ngày trong tuần<?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }5Văn bản viết tắt của một ngày, trong ba chữ cái<?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }6 – <?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }7<?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }8Một văn bản trình bày đầy đủ của một ngày trong tuần. <?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }9 – <?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }0Month<?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }1A full textual representation of a month, such as January or March<?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }2 – <?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }3<?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }4Abbreviated textual representation of a month, in three letters<?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }5 – <?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }6<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390818Numeric representation of a month, with leading zeros<?php echo time(); // 16341390811 – <?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }9<?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }0Numeric representation of a month, without leading zeros<?php echo time(); // 16341390814 – <?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }9Year<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390817A full numeric . g. <?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }4 hoặc <?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }5________38 _____ 6 Biểu thị hai chữ số của một năm. g. <?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }7 or <?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }8Time<?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }9Uppercase Ante Meridiem and Post MeridiemCREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */0 or CREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */1CREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */212-hour format of an hour without leading zeros<?php echo time(); // 16341390814 – <?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }9CREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */512-hour format of an hour with leading zeros<?php echo time(); // 16341390811 – <?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }9CREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */8Minutes with leading zerosCREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */9 – <?php $date = DateTime::createFromFormat('m/d/y', "10/08/21"); var_dump($date); //object(DateTime)#2 (3) { // ["date"]=> // string(26) "2021-10-08 16:00:47.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" //}0<?php $date = DateTime::createFromFormat('m/d/y', "10/08/21"); var_dump($date); //object(DateTime)#2 (3) { // ["date"]=> // string(26) "2021-10-08 16:00:47.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" //}1Seconds with leading zerosCREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */9 – <?php $date = DateTime::createFromFormat('m/d/y', "10/08/21"); var_dump($date); //object(DateTime)#2 (3) { // ["date"]=> // string(26) "2021-10-08 16:00:47.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" //}0

Đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 có thể được chuyển đổi thành dấu thời gian

<?php $now = new DateTime(); echo $now->getTimestamp(); // 1634139081

Nhưng chúng ta cũng có thể lấy thời gian hiện tại theo dấu thời gian mà không cần xây dựng đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815

<?php echo time(); // 1634139081

Xây dựng một đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 của một thời điểm cụ thể

Điều gì sẽ xảy ra nếu chúng tôi muốn xây dựng một <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 cho một thời điểm cụ thể, chẳng hạn như ngày 14 tháng 7 năm 2011?

<?php $date = new DateTime("2011-07-14"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }

Hàm tạo cũng chấp nhận các định dạng khác

<?php $date = new DateTime("14-07-2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }

Nhưng hãy cẩn thận với định dạng không rõ ràng, như thế này

<?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }

Bạn có thể nghĩ rằng mọi người nên quen thuộc với định dạng ngày của Mỹ. Nhưng không phải ai cũng vậy và nó có thể được hiểu theo cách khác. Không phải PostgreSQL

CREATE TABLE IF NOT EXISTS public.datetime_demo ( created_at date ); insert into datetime_demo (created_at) values ('07/12/2011'); select created_at from datetime_demo; /* 2011-12-07 */

Bạn có thể đã nghĩ rằng sẽ trở lại vào ngày 12 tháng 7 năm 2011, nhưng thay vào đó là ngày 7 tháng 12 năm 2011. Một cách tốt hơn là sử dụng một định dạng rõ ràng

<?php $date = DateTime::createFromFormat('m/d/y', "10/08/21"); var_dump($date); //object(DateTime)#2 (3) { // ["date"]=> // string(26) "2021-10-08 16:00:47.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" //}

Điều gì sẽ xảy ra nếu chúng ta muốn xây dựng một đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 từ dấu thời gian?

<?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }

Chúng tôi không phải tạo một đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 nếu chúng tôi muốn chuyển đổi một đối tượng dấu thời gian thành một chuỗi ngày được định dạng

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM0

Múi giờ

Chúng ta có thể tạo một đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 bao gồm thông tin múi giờ, chẳng hạn như nếu chúng ta đang xử lý Giờ chuẩn Thái Bình Dương, Giờ ban ngày miền Đông, v.v.

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM1

Có ba cách để tạo một đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815 với thông tin múi giờ. <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }2 chấp nhận các giá trị khác nhau cho mỗi giá trị

Nhưng giả sử chúng ta muốn chuyển đổi ngày và giờ được hiển thị theo múi giờ của New York để hiển thị múi giờ của Jakarta?

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM2

Khi nó là 05. 00 giờ sáng ở New York, bây giờ là 05. 00 PM tại Jakarta cùng ngày. Jakarta đi trước New York 12 giờ vào ngày 11 tháng 11 năm 2021. Nhưng sớm hơn 1 tháng, Jakarta chỉ đi trước New York 11 tiếng như hình bên dưới

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM3

PHP tự động xử lý Giờ tiết kiệm ánh sáng ban ngày cho bạn

bản địa hóa

Đây là cách phổ biến để hiển thị ngày và giờ ở Hoa Kỳ

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM4

Nhưng ai đó ở Pháp có thể thích thứ gì đó phổ biến hơn cho ngôn ngữ của họ. Thật kinh khủng, họ sẽ phàn nàn. Đối với một, không ai đặt tháng trước ngày tháng, ngoại trừ U. S. Thứ hai, Pháp không sử dụng AM hoặc PM — họ sử dụng định dạng 24 giờ (e. g. 14. 00 thay vì 2. 00 PM) như quân đội. Đây là cách bạn làm cho một người Pháp địa phương hạnh phúc

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM5

Nhưng điều này đòi hỏi kiến ​​thức sâu rộng về một quốc gia hoặc khu vực cụ thể. Thay vào đó, chúng ta có thể bản địa hóa ngày. Để bản địa hóa một ngày, chúng ta cần cài đặt hỗ trợ quốc tế hóa cho PHP. Trong Ubuntu, chúng ta có thể thực hiện bước này

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM6

Để hiển thị ngày giờ bằng tiếng Pháp, chúng ta có thể sử dụng <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }3

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM7

Bạn chuyển miền địa phương của Pháp làm tham số đầu tiên của <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }3
Tham số thứ hai là định dạng cho ngày. Tham số thứ ba là định dạng cho thời gian. Múi giờ để hiển thị ngày và giờ nằm ​​trong tham số thứ tư

Bên cạnh <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }5 và <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }6, các định dạng phổ biến khác là <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }7, <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }8,
và <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }9

Nếu bạn sử dụng <?php $date = new DateTime(); $date->setTimestamp(1634142890); var_dump($date); //object(DateTime)#1 (3) { // ["date"]=> // string(26) "2021-10-13 23:34:50.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }7 cho thời gian hoặc trong tham số thứ ba, điều đó có nghĩa là bạn không bao gồm thời gian ở định dạng

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM8

Du hành thời gian

Hãy du hành thời gian về quá khứ và tương lai. Đầu tiên, hãy làm quen với <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM01

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM9

<?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM02 và <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM03 là để phân tách khoảng thời gian và khoảng thời gian. Đây là cách chúng ta có thể du hành đến tương lai

<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390810

Và đây là cách chúng ta quay ngược thời gian

<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390811

Nếu chúng ta muốn du hành thời gian với tên của ngày trong tuần, chúng ta có thể kết hợp hàm <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM04 và phương thức <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM05 của đối tượng <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390815

<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390812

Xem danh sách đầy đủ các tham số <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM04 trong tài liệu PHP

Ngày và giờ định kỳ

Đó là một tính năng phổ biến trong các ứng dụng lịch để đặt lời nhắc lặp lại thường xuyên, chẳng hạn như hai ngày một lần hoặc mỗi tuần. Chúng ta có thể sử dụng <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM08 để biểu thị một khoảng thời gian

<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390813

Cách đây bao nhiêu ngày?

Bạn biết cách các dịch vụ như Twitter sẽ hiển thị rằng ai đó đã đăng X số phút/giờ/ngày/v.v. trước kia?

<?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390814

Sau khi lấy đối tượng <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM01 từ phương thức <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM10, hãy đảm bảo rằng biến <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM11 đã ở quá khứ bằng cách kiểm tra thuộc tính <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM12. Sau đó kiểm tra các thuộc tính <?php $date = new DateTime("07/14/2011"); var_dump($date); // object(DateTime)#1 (3) { // ["date"]=> // string(26) "2011-07-14 00:00:00.000000" // ["timezone_type"]=> // int(3) // ["timezone"]=> // string(12) "Asia/Jakarta" // }6, <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390818 và <?php $now = new DateTime(); echo $now->getTimestamp(); // 16341390819

Bạn có thể tìm thấy danh sách đầy đủ các thuộc tính đối tượng <?php $now = new DateTime(); echo $now->format("Y-m-d"); // 2021-10-13 echo $now->format("Y-m-d h:i:s A"); // 2021-10-13 10:10:31 PM01 tại đây trong tài liệu PHP

Bạn đi đâu từ đây?

Bây giờ bạn đã có một bảng nhỏ các công thức PHP phổ biến khi bạn thấy mình làm việc với ngày tháng và thời gian. Bạn cần lấy ngày giờ hiện tại? . Tất cả điều đó là ngay tại đây

Tất nhiên, vẫn còn nhiều phương thức và chức năng về ngày và giờ mà chúng ta chưa thảo luận - những thứ như chức năng liên quan đến lịch và những thứ tương tự. Đảm bảo luôn để gần phần Ngày và Giờ của Hướng dẫn sử dụng PHP để biết thêm các trường hợp sử dụng và ví dụ

Làm cách nào để lấy ngày giờ hiện tại trong PHP?

echo "Đã đến lúc". ngày("h. i. sa"); ?> Lưu ý rằng hàm date() trong PHP sẽ trả về ngày/giờ hiện tại của máy chủ.

Làm cách nào để lấy ngày và giờ từ dấu thời gian trong PHP?

php $date1 = "2019-05-16"; . 1557964800 $date2 = "16-05-2019"; . 1557964800 $date = "16 tháng 5 năm 2019"; . 1557964800 ?> // Outputs: 1557964800 $date2 = "16-05-2019"; $timestamp2 = strtotime($date2); echo $timestamp2; // Outputs: 1557964800 $date3 = "16 May 2019"; $timestamp3 = strtotime($date3); echo $timestamp3; // Outputs: 1557964800 ?>

Làm cách nào để so sánh ngày và giờ với ngày và giờ hiện tại trong PHP?

Bạn có thể so sánh ngày PHP với ngày hiện tại bằng cách sử dụng hàm strtotime() cùng với các toán tử so sánh . Hàm date_diff() cho phép bạn so sánh hai ngày và tìm sự khác biệt giữa chúng.

Làm cách nào để in ngày ở định dạng khác trong PHP?

Thay đổi YYYY-MM-DD thành DD-MM-YYYY . $orgDate = "2019-09-15"; $newDate = date("d-m-Y", strtotime($orgDate)); echo "New date format is: ".

Chủ đề