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 
3
50 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(); // 1634139081
5 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(); // 1634139081
5 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(); // 1634139081
7 đề cập đến năm,
<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
8 đề cập đến tháng,
<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
9 đề 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(); // 1634139081
9Ngày trong tháng. hai chữ số có số 0 đứng đầu_______9_______1 – 
<?php

echo time(); // 1634139081
2
<?php

echo time(); // 1634139081
3Ngày trong tháng không có số 0 đứng đầu
<?php

echo time(); // 1634139081
4 – 
<?php

echo time(); // 1634139081
2_______9_______6Bao gồm hậu tố tiếng Anh.
<?php

echo time(); // 1634139081
7, 
<?php

echo time(); // 1634139081
8, 
<?php

echo time(); // 1634139081
9, 
<?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(); // 1634139081
8Numeric representation of a month, with leading zeros
<?php

echo time(); // 1634139081
1 – 
<?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(); // 1634139081
4 – 
<?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(); // 1634139081
7A 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 Meridiem
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 */
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 */
1
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 */
212-hour format of an hour without leading zeros
<?php

echo time(); // 1634139081
4 – 
<?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
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 */
512-hour format of an hour with leading zeros
<?php

echo time(); // 1634139081
1 – 
<?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
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 */
8Minutes with leading zeros
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 */
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 zeros
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 */
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(); // 1634139081
5 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(); // 1634139081
5

<?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(); // 1634139081
5 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(); // 1634139081
5 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(); // 1634139081
5 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 PM
0

Múi giờ

Chúng ta có thể tạo một đối tượng

<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
5 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 PM
1

Có ba cách để tạo một đối tượng

<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
5 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 PM
2

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 PM
3

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 PM
4

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 PM
5

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 PM
6

Để 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 PM
7

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,
<?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 PM
8

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 PM
01

<?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
9

<?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
02 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 PM
03 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(); // 1634139081
0

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

<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
1

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 PM
04 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 PM
05 của đối tượng
<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
5

<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
2

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 PM
04 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 PM
08 để biểu thị một khoảng thời gian

<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
3

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(); // 1634139081
4

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 PM
01 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 PM
10, 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 PM
11 đã ở 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 PM
12. 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(); // 1634139081
8 và
<?php

$now = new DateTime();
echo $now->getTimestamp(); // 1634139081
9

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 PM
01 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: ".