Hướng dẫn convert strtotime to days in php - chuyển đổi strtotime sang ngày trong php

1

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có hai ngày được lưu trữ trong cơ sở dữ liệu MySQL (loại = ngày). Ví dụ -

Ngày 1 = 2010-09-20 Ngày 2 = 2010-10-20
Date 2 = 2010-10-20

Tôi muốn tính toán số ngày giữa hai ngày này. Vì vậy, đã thử điều này -

$number_days = (strtotime($date2) - strtotime($date1) / (60 * 60 * 24));

Nhưng điều này trả về 49

Làm thế nào như vậy?

------------------------------------- CẬP NHẬT ------------ ----------------------------------

Ok, tôi nhận ra vấn đề của tôi gây ra một số nhầm lẫn. Tôi đã sử dụng một chức năng khác để truy xuất ngày 1 và vì nhiều lý do khác nhau, ngày này không được trả lại chính xác nên số ngày được đưa ra là thực sự chính xác. Khi tôi truy xuất đúng ngày từ cơ sở dữ liệu, tính toán của tôi đã hoạt động ở trên, hãy tham gia vào tính ưu tiên của / Over -

Cảm ơn những câu trả lời của bạn.

Hướng dẫn convert strtotime to days in php - chuyển đổi strtotime sang ngày trong php

Codaddict

436K80 Huy hiệu vàng488 Huy hiệu bạc525 Huy hiệu đồng80 gold badges488 silver badges525 bronze badges

Hỏi ngày 20 tháng 9 năm 2010 lúc 10:31Sep 20, 2010 at 10:31

/precedence cao hơn -

Vì vậy, (a - b / c) sẽ được coi là ( a - (b/c) ) nhưng những gì bạn cần là ( (a - b) / c )

Vì vậy, hãy thử:

$number_days = (strtotime($date2) - strtotime($date1))  / (60 * 60 * 24);

Đã trả lời ngày 20 tháng 9 năm 2010 lúc 10:32Sep 20, 2010 at 10:32

CodaddictCodaddictcodaddict

436K80 Huy hiệu vàng488 Huy hiệu bạc525 Huy hiệu đồng80 gold badges488 silver badges525 bronze badges

Hỏi ngày 20 tháng 9 năm 2010 lúc 10:31

/precedence cao hơn -

SELECT *, UNIX_TIMESTAMP(date1) date1_u, UNIX_TIMESTAMP(date2) as date2_u from mytable

Vì vậy, (a - b / c) sẽ được coi là ( a - (b/c) ) nhưng những gì bạn cần là ( (a - b) / c )

Vì vậy, hãy thử:

Đã trả lời ngày 20 tháng 9 năm 2010 lúc 10:32

CodaddictCodaddictSep 20, 2010 at 10:39

Nếu bạn đang tìm kiếm cả hai ngày từ cơ sở dữ liệu MySQL, tôi luôn thấy dễ dàng chuyển đổi chúng sang định dạng số nguyên UnixDateTime trong truy vấn SQL. Chúng dễ dàng hơn nhiều để xử lý ở định dạng đó.Spudley

Truy vấn của bạn sẽ trông giống như thế này:39 gold badges229 silver badges304 bronze badges

❮ Tham khảo ngày/giờ PHP

Thí dụ

Phân tích các dữ liệu văn bản tiếng Anh thành dấu thời gian UNIX:

Đã trả lời ngày 20 tháng 9 năm 2010 lúc 10:39
echo(strtotime("now") . "
");
echo(strtotime("3 October 2005") . "
");
echo(strtotime("+5 hours") . "
");
echo(strtotime("+1 week") . "
");
echo(strtotime("+1 week 3 days 7 hours 5 seconds") . "
");
echo(strtotime("next Monday") . "
");
echo(strtotime("last Sunday"));
?>

Hãy tự mình thử »


Định nghĩa và cách sử dụng

Hàm strtotime () phân tích dữ liệu văn bản tiếng Anh vào dấu thời gian unix (số giây kể từ ngày 1 tháng 1 năm 1970 00:00:00 gmt).

Lưu ý: Nếu năm được chỉ định ở định dạng hai chữ số, các giá trị trong khoảng 0-69 được ánh xạ tới 2000-2069 và các giá trị trong khoảng 70-100 được ánh xạ tới 1970-2000. If the year is specified in a two-digit format, values between 0-69 are mapped to 2000-2069 and values between 70-100 are mapped to 1970-2000.

Lưu ý: Hãy nhận biết ngày ở định dạng M/D/Y hoặc D-M-Y; Nếu dấu phân cách là một dấu gạch chéo (/), thì M/D/Y của Mỹ được giả định. Nếu dấu phân cách là một dấu gạch ngang (-) hoặc một dấu chấm (.), Thì định dạng D-M-Y châu Âu được giả định. Để tránh các lỗi tiềm ẩn, bạn nên hẹn hò với yyyy-mm-dd hoặc date_create_from_format () khi có thể. Be aware of dates in the m/d/y or d-m-y formats; if the separator is a slash (/), then the American m/d/y is assumed. If the separator is a dash (-) or a dot (.), then the European d-m-y format is assumed. To avoid potential errors, you should YYYY-MM-DD dates or date_create_from_format() when possible.


Cú pháp

Giá trị tham số

Tham sốSự mô tả
thời gianYêu cầu. Chỉ định chuỗi ngày/thời gian
bây giờKhông bắt buộc. Chỉ định dấu thời gian được sử dụng làm cơ sở để tính toán ngày tương đối


Chi tiết kỹ thuật

Giá trị trở lại:Trả về một dấu thời gian về thành công. Sai về thất bại
Phiên bản PHP:4+
PHP Changelog:Php 5.3.0: Các định dạng thời gian tương đối như tuần này, tuần trước, tuần trước và tuần tới hiện diễn giải một khoảng thời gian từ thứ Hai đến Chủ nhật, thay vào đó là khoảng thời gian 7 ngày so với ngày hiện tại/TimePHP 5.3.0: Bây giờ 24:00 là một định dạng hợp lệ 5.2.7: Trong các phiên bản trước, nếu yêu cầu sự xuất hiện nhất định của một ngày trong tuần nhất định trong một tháng mà ngày trong tuần đó là ngày đầu tiên của tháng, nó sẽ thêm một tuần vào dấu thời gian được trả lại. Điều này đã được sửa NowPhp 5.1.0: Trả về FALSE khi thất bại (các phiên bản trước đó trả về -1) và các vấn đề E_Strict và E_NOTICE Múi thời gian Lỗi 5.0.2 Midnight Php 5.0.0: Cho phép micro giây (nhưng chúng bị bỏ qua)
PHP 5.3.0: Now 24:00 is a valid format
PHP 5.2.7: In earlier versions, if requesting a given occurrence of a given weekday in a month where that weekday was the first day of the month it would incorrectly add one week to the returned timestamp. This has been corrected now
PHP 5.1.0: Returns FALSE on failure (earlier versions returns -1), and issues E_STRICT and E_NOTICE time zone errors
PHP 5.0.2: Now correctly computes "now" and other relative times from current time, not from today's midnight
PHP 5.0.0: Allows microseconds (but they are ignored)

❮ Tham khảo ngày/giờ PHP


Làm thế nào để bạn chuyển đổi strtotime thành ngày?

Đầu tiên chúng tôi sẽ chuyển đổi ngày bắt đầu và ngày kết thúc thành thời gian UNIX bằng hàm strtotime (), sau đó ngày kết thúc sau ngày bắt đầu sau đó sẽ cung cấp cho bạn sự khác biệt trong vài giây mà bạn chia cho 86400 (tổng số giây trong một ngày) để cung cấp cho Bạn có tổng cộng gần đúng ngày trong phạm vi đó.

Strtotime có nghĩa là gì trong PHP?

Hàm strtotime () phân tích dữ liệu văn bản tiếng Anh vào dấu thời gian unix (số giây kể từ ngày 1 tháng 1 năm 1970 00:00:00 gmt).Lưu ý: Nếu năm được chỉ định ở định dạng hai chữ số, các giá trị trong khoảng 0-69 được ánh xạ tới 2000-2069 và các giá trị trong khoảng 70-100 được ánh xạ tới 1970-2000.parses an English textual datetime into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 GMT). Note: If the year is specified in a two-digit format, values between 0-69 are mapped to 2000-2069 and values between 70-100 are mapped to 1970-2000.

Làm thế nào tôi có thể tính toán ngày giữa các ngày trong PHP?

Hàm date_diff () là một hàm sẵn có trong PHP được sử dụng để tính toán chênh lệch giữa hai ngày.Hàm này trả về một đối tượng DateInterval về thành công và trả về sai khi thất bại.date_diff() function is an inbuilt function in PHP that is used to calculate the difference between two dates. This function returns a DateInterval object on the success and returns FALSE on failure.

Việc sử dụng Strtotime là gì?

Hàm strtotime () là một hàm tích hợp trong PHP được sử dụng để chuyển đổi mô tả thời gian hẹn hò bằng văn bản tiếng Anh thành dấu thời gian UNIX.Hàm chấp nhận một tham số chuỗi bằng tiếng Anh đại diện cho mô tả về thời gian ngày.Ví dụ, ngay bây giờ, ngay bây giờ, đề cập đến ngày hiện tại trong mô tả thời gian tiếng Anh.to convert an English textual date-time description to a UNIX timestamp. The function accepts a string parameter in English which represents the description of date-time. For e.g., “now” refers to the current date in English date-time description.