Hàm php nào chuyển đổi thời gian văn bản tiếng Anh thành dấu thời gian unix?

PHP hỗ trợ các hàm ngày tháng để xử lý ngày & giờ để triển khai và cung cấp phương thức chuyển đổi ngày tháng mà con người có thể đọc được thành Dấu thời gian Unix. Một trong những phương pháp đó là strtotime()

PHP strtotime

Hàm strtotime() trong PHP dịch mô tả ngày giờ bằng văn bản tiếng Anh sang dấu thời gian UNIX. Hàm strtotime() lấy một chuỗi tiếng Anh làm đối số đại diện cho thông tin ngày giờ

cú pháp

strtotime(time, now);

Trong khi
- thời gian. Nó chỉ định một chuỗi ngày/giờ
- Hiện nay. Nó là một tham số tùy chọn. Tham số now chỉ định dấu thời gian được sử dụng để tính toán giá trị được trả về

ví dụ

echo strtotime("now"), "\n";
echo strtotime("11 March 2022"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+2 week"), "\n";
echo strtotime("next Friday"), "\n";
echo strtotime("last Saturday"), "\n";

đầu ra

1646974188 
1646956800 
1647060588 
1648183788 
1647561600 
1646438400

Nhận ngày hiện tại trong PHP

echo date("Y-m-d", strtotime("now"));

đầu ra

2022-03-11

Ngày trong tương lai trong PHP

echo date("Y-m-d", strtotime("2022-03-11 +2 month"));

đầu ra

2022-05-11

Ngày quá khứ trong PHP

echo date("Y-m-d", strtotime("2022-03-11 -2 month"));

đầu ra

2022-01-11

strtotime để chuyển đổi văn bản tiếng Anh thành một ngày

$textDate = "11th March 2022";

echo strtotime($textDate), "\n";

echo date("Y-m-d", strtotime($textDate))."\n";

đầu ra

1646956800
2022-03-11

Hàm strtotime() trong PHP cho phép bạn chuyển đổi các chuỗi ngày giờ văn bản tiếng Anh thành dấu thời gian UNIX. Nó rất hữu ích để chuyển đổi chuỗi ngày giờ của cơ sở dữ liệu thành dấu thời gian UNIX và cũng tạo ngày trong tương lai hoặc quá khứ dựa trên thời gian hiện tại hoặc liên quan đến ngày và giờ trong tương lai hoặc quá khứ. Bài đăng này xem xét một số ví dụ về việc này

Hàm PHP strtotime() có cách sử dụng như sau

int strtotime ( string $time [, int $now ] )

Điều này có nghĩa là bạn chuyển vào một giá trị chuỗi cho thời gian và tùy chọn một giá trị cho thời điểm hiện tại, đó là dấu thời gian UNIX. Giá trị được trả về là một số nguyên là dấu thời gian UNIX

Một ví dụ về cách sử dụng này như sau, trong đó ngày được chuyển đến strtotime() có thể là ngày từ truy vấn cơ sở dữ liệu hoặc tương tự

________số 8_______

Điều này sẽ trả về biến $ts giá trị 1198148400, là dấu thời gian UNIX cho ngày 21 tháng 12 năm 2007. Điều này có thể được xác nhận bằng hàm date() như vậy

echo date('Y-m-d', 1198148400);
// echos 2007-12-21

strtotime() có thể phân tích nhiều chuỗi khác nhau và chuyển đổi chúng thành dấu thời gian thích hợp, sử dụng ngày thực tế và cả các chuỗi như "tuần tới", "thứ ba tới", "thứ năm trước", "2 tuần trước", v.v. . Dưới đây là một số ví dụ

$ts = strtotime('21 december 2007');
echo $ts, '
'; echo date('Y-m-d', $ts), '
';

Điều này sẽ hiển thị như sau

1198148400
2007-12-21

Nếu hôm nay là ngày 21 tháng 12 thì như sau

$ts = strtotime('next week');
echo $ts, '
'; echo date('Y-m-d', $ts), '
'; $ts = strtotime('next tuesday'); echo $ts, '
'; echo date('Y-m-d', $ts), '
'; $ts = strtotime('last thursday'); echo $ts, '
'; echo date('Y-m-d', $ts), '
'; $ts = strtotime('2 weeks ago'); echo $ts, '
'; echo date('Y-m-d', $ts), '
'; $ts = strtotime('+ 1 month'); echo $ts, '
'; echo date('Y-m-d', $ts), '
';

sẽ hiển thị như sau

1199006542
2007-12-30
1198494000
2007-12-25
1198062000
2007-12-20
1197192142
2007-12-09
1201080142
2008-01-23

Sử dụng strtotime để bù đắp từ một ngày khác

Nếu bạn muốn sử dụng hàm strtotime của PHP để cộng hoặc trừ một số ngày, tuần, tháng hoặc năm từ một ngày khác với thời gian hiện tại, bạn có thể thực hiện bằng cách chuyển tham số tùy chọn thứ hai cho hàm strtotime(), hoặc

Ví dụ này cho thấy việc truyền tham số thứ hai. Làm theo cách này yêu cầu ngày cần bù trừ đã là dấu thời gian UNIX. Trong ví dụ này, dấu thời gian được thông qua là ngày 25 tháng 12 năm 2007 (Ngày Giáng sinh)

$ts = strtotime('tomorrow', 1198494000);
echo $ts, '
'; echo date('Y-m-d', $ts);

Kết quả sẽ là

1198580400
2007-12-26

Như bạn có thể thấy, 'ngày mai' đã được phân tích thành ngày mai bắt đầu từ dấu thời gian 1198494000, tức là ngày 25 tháng 12 năm 2007, dẫn đến dấu thời gian được trả về là ngày 26 tháng 12 năm 2007

Một cách khác để cộng hoặc trừ thời gian từ chuỗi thời gian hiện có là thêm nó vào chuỗi ngày giờ như vậy, nơi chúng tôi đang thêm 90 ngày vào một giá trị ngày, theo định dạng của trường ngày MySQL

$ts = strtotime('2007-10-12 +90 days');
echo $ts, '
'; echo date('Y-m-d', $ts), '
';

Điều này sẽ xuất ra

$ts = strtotime('2007-12-21');
0

Như bạn có thể thấy, hàm strtotime() cực kỳ hữu ích để phân tích các biểu diễn tiếng Anh (và cơ sở dữ liệu) của chuỗi ngày và giờ và biến chúng thành dấu thời gian UNIX. Nó cũng hữu ích để thêm các giá trị cộng và trừ vào các dấu thời gian đó để dễ dàng tạo ngày và giờ trong tương lai và quá khứ

Làm cách nào để lấy dấu thời gian Unix trong PHP?

Hàm time() trả về thời gian hiện tại theo số giây kể từ Kỷ nguyên Unix (1 tháng 1 năm 1970 00. 00. 00 giờ GMT).

Làm cách nào để chuyển đổi chuỗi thành dấu thời gian trong PHP?

Hàm strtotime() là một hàm tích hợp sẵn trong PHP, được sử dụng để chuyển đổi một mô tả ngày-giờ bằng văn bản tiếng Anh thành một . Hàm chấp nhận một tham số chuỗi bằng tiếng Anh đại diện cho mô tả về ngày giờ. cho e. g. , “bây giờ” đề cập đến ngày hiện tại trong mô tả ngày giờ bằng tiếng Anh.

Hàm PHP nào được sử dụng để lấy ngày và giờ hiện tại dưới dạng dấu thời gian Unix?

Hàm PHP strtotime() được sử dụng để chuyển đổi chuỗi ngày có thể đọc được của con người thành dấu thời gian Unix (số giây kể từ ngày 1 tháng 1 . 00. 00 giờ GMT).

Làm cách nào để chuyển đổi dấu thời gian thành ngày PHP?

Sử dụng hàm date() của PHP . Thí dụ. ngày lặp lại('m/d/Y', 1299446702);