Hướng dẫn php convert string to timestamp - php chuyển đổi chuỗi thành dấu thời gian

Tôi có chuỗi này: "13/10 15:00" và tôi muốn chuyển đổi nó thành dấu thời gian nhưng khi tôi làm điều này:

      $timestamp = strtotime("13/10 15:00");

Nó trả về một giá trị trống.

Hướng dẫn php convert string to timestamp - php chuyển đổi chuỗi thành dấu thời gian

LAJOS VERES

13,5K7 Huy hiệu vàng43 Huy hiệu bạc56 Huy hiệu Đồng7 gold badges43 silver badges56 bronze badges

Hỏi ngày 13 tháng 10 năm 2013 lúc 15:26Oct 13, 2013 at 15:26

4

Trong mã của bạn strtotime() đang cố gắng chuyển đổi 13/10 là ngày thứ mười của tháng thứ 13, sẽ trả lại lỗi.

Nếu bạn muốn phân tích chuỗi ngày có định dạng tùy chỉnh, tốt hơn là sử dụng DateTime :: createdFromFormat () thay vào đó: thay vào đó:

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();

Glavić

41.8K13 Huy hiệu vàng74 Huy hiệu bạc107 Huy hiệu đồng13 gold badges74 silver badges107 bronze badges

Đã trả lời ngày 13 tháng 10 năm 2013 lúc 15:33Oct 13, 2013 at 15:33

3

  $timestamp = strtotime("13-10-2013 15:00");

Điều này có thể quan trọng:

Các ngày ở các định dạng M/D/Y hoặc D-M-Y được định hướng bằng cách nhìn vào phân tách giữa các thành phần khác nhau: nếu thiết bị phân tách là một dấu gạch chéo (/), thì giả sử M/D/Y của Mỹ; trong khi đó 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 sự mơ hồ tiềm năng, tốt nhất là sử dụng ngày ISO 8601 (yyyy-mm-dd) hoặc datetime :: createFromFormat () khi có thể.

http://uk3.php.net/strtotime

Đã trả lời ngày 13 tháng 10 năm 2013 lúc 15:28Oct 13, 2013 at 15:28

LAJOS VERESLAJOS VERESLajos Veres

13,5K7 Huy hiệu vàng43 Huy hiệu bạc56 Huy hiệu Đồng7 gold badges43 silver badges56 bronze badges

(Php 4, Php 5, Php 7, Php 8)

Strtotime - phân tích về bất kỳ mô tả dữ liệu văn bản tiếng Anh nào vào dấu thời gian UNIXParse about any English textual datetime description into a Unix timestamp

Sự mô tả

Strtotime (Chuỗi $datetime,? int $baseTimestamp = null): int | false(string $datetime, ?int $baseTimestamp = null): int|false

Hàm dự kiến ​​sẽ được cung cấp một chuỗi chứa định dạng ngày tiếng Anh và sẽ cố gắng phân tích định dạng đó thành dấu thời gian UNIX (số giây kể từ ngày 1 tháng 1 năm 1970 00:00:00 UTC), liên quan đến dấu thời gian được đưa ra trong baseTimestamp, hoặc thời gian hiện tại nếu baseTimestamp không được cung cấp. Phân tích chuỗi ngày được xác định theo định dạng ngày và giờ và có một số cân nhắc tinh tế. Xem xét các chi tiết đầy đủ có được khuyến nghị mạnh mẽ.

Cảnh báo

Dấu thời gian UNIX mà hàm này trả về không chứa thông tin về múi giờ. Để thực hiện các tính toán với thông tin ngày/thời gian, bạn nên sử dụng datetimeimmutable có khả năng hơn.DateTimeImmutable.

Mỗi tham số của hàm này sử dụng múi giờ mặc định trừ khi múi giờ được chỉ định trong tham số đó. Hãy cẩn thận không sử dụng các múi giờ khác nhau trong mỗi tham số trừ khi đó là dự định. Xem DATE_DEFAULT_TIMEZONE_GET () về các cách khác nhau để xác định múi giờ mặc định.date_default_timezone_get() on the various ways to define the default time zone.

Thông số

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
0

Một chuỗi ngày/thời gian. Các định dạng hợp lệ được giải thích trong các định dạng ngày và giờ.

________số 8

Dấu thời gian được sử dụng làm cơ sở để tính toán ngày tương đối.

Trả về giá trị

Trả về một dấu thời gian về thành công,

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
2 nếu không.
$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
2
otherwise.

Errors/Exceptions

Mỗi cuộc gọi đến hàm ngày/giờ sẽ tạo ra

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
3 nếu múi giờ không hợp lệ. Xem thêm Date_Default_Timezone_set ()
$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
3
if the time zone is not valid. See also date_default_timezone_set()

Thay đổi

Phiên bảnSự mô tả
8.0.0 baseTimestamp bây giờ là không thể.

Ví dụ

Ví dụ #1 ví dụ Strtotime ()strtotime() example

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
5

Ví dụ #2 Kiểm tra thất bại

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
6

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
7

$dtime = DateTime::createFromFormat("d/m G:i", "13/10 15:00");
$timestamp = $dtime->getTimestamp();
8

Ghi chú

Ghi chú::

Ngày "tương đối" trong trường hợp này cũng có nghĩa là nếu một thành phần cụ thể của dấu ngày/thời gian không được cung cấp, nó sẽ được lấy nguyên văn từ baseTimestamp. Đó là,

  $timestamp = strtotime("13-10-2013 15:00");
0, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
  $timestamp = strtotime("13-10-2013 15:00");
1, sẽ tràn vào dấu thời gian vào
  $timestamp = strtotime("13-10-2013 15:00");
2. (Trong một năm bước nhảy, nó sẽ là
  $timestamp = strtotime("13-10-2013 15:00");
3.) Sử dụng
  $timestamp = strtotime("13-10-2013 15:00");
4 hoặc
  $timestamp = strtotime("13-10-2013 15:00");
5 sẽ tránh được vấn đề đó.

Ghi chú::

Ngày "tương đối" trong trường hợp này cũng có nghĩa là nếu một thành phần cụ thể của dấu ngày/thời gian không được cung cấp, nó sẽ được lấy nguyên văn từ baseTimestamp. Đó là,

  $timestamp = strtotime("13-10-2013 15:00");
0, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
  $timestamp = strtotime("13-10-2013 15:00");
1, sẽ tràn vào dấu thời gian vào
  $timestamp = strtotime("13-10-2013 15:00");
2. (Trong một năm bước nhảy, nó sẽ là
  $timestamp = strtotime("13-10-2013 15:00");
3.) Sử dụng
  $timestamp = strtotime("13-10-2013 15:00");
4 hoặc
  $timestamp = strtotime("13-10-2013 15:00");
5 sẽ tránh được vấn đề đó.

Ghi chú::

Ngày "tương đối" trong trường hợp này cũng có nghĩa là nếu một thành phần cụ thể của dấu ngày/thời gian không được cung cấp, nó sẽ được lấy nguyên văn từ baseTimestamp. Đó là,

  $timestamp = strtotime("13-10-2013 15:00");
0, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
  $timestamp = strtotime("13-10-2013 15:00");
1, sẽ tràn vào dấu thời gian vào
  $timestamp = strtotime("13-10-2013 15:00");
2. (Trong một năm bước nhảy, nó sẽ là
  $timestamp = strtotime("13-10-2013 15:00");
3.) Sử dụng
  $timestamp = strtotime("13-10-2013 15:00");
4 hoặc
  $timestamp = strtotime("13-10-2013 15:00");
5 sẽ tránh được vấn đề đó.

Nếu số lượng của năm được chỉ định ở định dạng hai chữ số, các giá trị giữa 00-69 được ánh xạ tới 2000-2069 và 70-99 đến 1970-1999. Xem các ghi chú dưới đây để biết sự khác biệt có thể trên các hệ thống 32bit (ngày có thể có thể kết thúc vào ngày 2038-01-19 03:14:07).

Ghi chú::

Ngày "tương đối" trong trường hợp này cũng có nghĩa là nếu một thành phần cụ thể của dấu ngày/thời gian không được cung cấp, nó sẽ được lấy nguyên văn từ baseTimestamp. Đó là,

  $timestamp = strtotime("13-10-2013 15:00");
0, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
  $timestamp = strtotime("13-10-2013 15:00");
1, sẽ tràn vào dấu thời gian vào
  $timestamp = strtotime("13-10-2013 15:00");
2. (Trong một năm bước nhảy, nó sẽ là
  $timestamp = strtotime("13-10-2013 15:00");
3.) Sử dụng
  $timestamp = strtotime("13-10-2013 15:00");
4 hoặc
  $timestamp = strtotime("13-10-2013 15:00");
5 sẽ tránh được vấn đề đó.DateTime::add() and DateTime::sub().

Nếu số lượng của năm được chỉ định ở định dạng hai chữ số, các giá trị giữa 00-69 được ánh xạ tới 2000-2069 và 70-99 đến 1970-1999. Xem các ghi chú dưới đây để biết sự khác biệt có thể trên các hệ thống 32bit (ngày có thể có thể kết thúc vào ngày 2038-01-19 03:14:07).

  • Phạm vi hợp lệ của dấu thời gian thường là từ Thứ Sáu, ngày 13 tháng 12 năm 1901 20:45:54 UTC đến Tue, ngày 19 tháng 1 năm 2038 03:14:07 UTC. (Đây là các ngày tương ứng với các giá trị tối thiểu và tối đa cho số nguyên có chữ ký 32 bit.)
  • Đối với các phiên bản 64 bit của PHP, phạm vi hợp lệ của dấu thời gian là vô hạn một cách hiệu quả, vì 64 bit có thể biểu thị khoảng 293 tỷ năm theo một trong hai hướng.
  • Sử dụng chức năng này cho các hoạt động toán học là không nên. Tốt hơn là sử dụng DateTime :: add () và datetime :: sub ().
  • Xem thêm
  • Datetimeimmutable

Datetimeimmutable :: createFromFormat () - phân tích chuỗi thời gian theo một định dạng được chỉ định

Làm thế nào để chuyển đổi một chuỗi thành dấu thời gian unix trong PHP?

Để làm điều này trong PHP, chúng ta có thể sử dụng hàm strtotime như vậy: // datestring của chúng ta. Định dạng là Y-M-D H: I: S $ date = '2019-04-01 10:32:00'; // Chuyển đổi nó thành dấu thời gian unix bằng cách sử dụng strtotime. $ Timestamp = Strtotime ($ ngày); //In nó ra. echo $ dấu thời gian;PHP, we can use the strtotime function like so: //Our date string. The format is Y-m-d H:i:s $date = '2019-04-01 10:32:00'; //Convert it into a Unix timestamp using strtotime. $timestamp = strtotime ($date); //Print it out. echo $timestamp;

Làm thế nào để chuyển đổi thời gian UNIX sang thời gian kỷ nguyên trong PHP?

Như bạn có thể đã biết, thời gian của Unix Unix là số giây đã trôi qua kể từ ngày 1 tháng 1 năm 1970. Vì lợi ích của ví dụ này, hãy nói rằng chúng tôi muốn chuyển đổi 2019-04-01 10:32:00 thành một dấu thời gian kỷ nguyên. Để làm điều này trong PHP, chúng ta có thể sử dụng hàm strtotime như vậy: // chuỗi ngày của chúng ta.

Phạm vi của dấu thời gian PHP là gì?

. một trong hai hướng.

Làm cách nào để in một ngày và dấu thời gian trong Unix?

Định dạng là Y-M-D H: I: S $ date = '2019-04-01 10:32:00'; // Chuyển đổi nó thành dấu thời gian unix bằng cách sử dụng strtotime. $ Timestamp = Strtotime ($ ngày); //In nó ra. echo $ dấu thời gian; Nếu bạn chạy ví dụ trên, bạn sẽ thấy rằng 1554107520 được in ra trang.

Làm thế nào tôi có thể hẹn giờ trong PHP?

Php Date Cú pháp & ví dụ..
Cấm Y-M-D, cho định dạng ngày PHP Yyyy-MM-DD ..
“Y để hiển thị năm hiện tại ..
Tiết [Timestamp] là tùy chọn.Nếu không có dấu thời gian nào được cung cấp, PHP sẽ nhận được thời gian ngày PHP hiện tại trên máy chủ ..

Strtotime làm 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 cách nào để chuyển đổi định dạng strtotime cho đến ngày?

Mã để chuyển đổi một chuỗi thành ngày $ time_input = strtotime ("2011/05/21");$ date_input = getDate ($ time_input);print_r ($ date_input);$time_input = strtotime ( "2011/05/21" ); $date_input = getDate ( $time_input ); print_r( $date_input );

Làm thế nào để bạn chuyển đổi một chuỗi thành một ngày carbon?

$ date = carbon \ carbon :: parse ($ RawDate);Vâng, đó là nó.Bây giờ bạn sẽ có một phiên bản carbon và bạn có thể định dạng ngày mà bạn muốn sử dụng các chức năng của carbon Helper. well thats it. You'll now have a Carbon instance & you can format the date as you like using Carbon helper functions.