Hướng dẫn how to convert a string to a unix timestamp in php? - cách chuyển đổi chuỗi thành dấu thời gian unix trong php?

Cho các chuỗi sau:

  • 01/01/11
  • 1/1/11
  • 1/1/2011
  • 01/1/2011
  • 1-1-2011
  • vân vân

Làm cách nào để chuyển đổi chúng thành dấu thời gian Unix. Lưu ý rằng trong hầu hết các trường hợp, điều này sẽ ở định dạng dd mm yyyy với các phân định khác nhau.

Hướng dẫn how to convert a string to a unix timestamp in php? - cách chuyển đổi chuỗi thành dấu thời gian unix trong php?

Hakre

Phù bằng vàng 188K50420 Huy hiệu bạc810 Huy hiệu Đồng50 gold badges420 silver badges810 bronze badges

hỏi ngày 28 tháng 6 năm 2011 lúc 2:44Jun 28, 2011 at 2:44

Nhìn vào lớp strtotime, strptime hoặc DateTime.

strtotime Ví dụ:

$timestamp = strtotime('1/1/2011');

Mỗi chức năng đều có cảnh báo. Chẳng hạn, tài liệu cho strtotime nói rằ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.

Bạn cũng có thể sử dụng preg_match để chụp cả 3 phần và tạo dấu thời gian của riêng bạn bằng

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
0.

preg_match Ví dụ:

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}

rtpharry

12.9k4 Huy hiệu vàng44 Huy hiệu bạc62 Huy hiệu Đồng4 gold badges44 silver badges62 bronze badges

Đã trả lời ngày 28 tháng 6 năm 2011 lúc 2:47Jun 28, 2011 at 2:47

Hướng dẫn how to convert a string to a unix timestamp in php? - cách chuyển đổi chuỗi thành dấu thời gian unix trong php?

2

$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;

Đã trả lời ngày 27 tháng 5 năm 2014 lúc 12:20May 27, 2014 at 12:20

Có lẽ bạn đang tìm kiếm chức năng strtotime.

Tuy nhiên, chỉ là một sự thận trọng, nó sẽ chuyển đổi từng định dạng chuỗi có thể thành một dấu thời gian unix (epoch) vì rất khó để phân tích rõ ràng từng chuỗi cho đến ngày.

Đã trả lời ngày 28 tháng 6 năm 2011 lúc 2:48Jun 28, 2011 at 2:48

Anubhavaanubhavaanubhava

738K62 Huy hiệu vàng537 Huy hiệu bạc615 Huy hiệu Đồng62 gold badges537 silver badges615 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

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
2,? int
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
3 =
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
4): int | false
(string
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
2
, ?int
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
3 =
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
4
): 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

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5, hoặc thời gian hiện tại nếu
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5 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ố

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
7

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ờ.

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5

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,

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
9 nếu không.
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
9
otherwise.

Errors/Exceptions

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

$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
0 nếu múi giờ không hợp lệ. Xem thêm Date_Default_Timezone_set ()
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
0
if the time zone is not valid. See also date_default_timezone_set()

Thay đổi

Phiên bảnSự mô tả
8.0.0
if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5 bây giờ là vô hiệu.

Ví dụ

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

$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
2

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

$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
3

$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
4

$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
5

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ừ

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5. Đó là,
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
7, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
8, sẽ tràn vào dấu thời gian vào ngày ____. (Trong một năm bước nhảy, nó sẽ là dd mm yyyy0.) Sử dụng dd mm yyyy1 hoặc dd mm yyyy2 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ừ

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5. Đó là,
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
7, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
8, sẽ tràn vào dấu thời gian vào ngày ____. (Trong một năm bước nhảy, nó sẽ là dd mm yyyy0.) Sử dụng dd mm yyyy1 hoặc dd mm yyyy2 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ừ

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5. Đó là,
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
7, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
8, sẽ tràn vào dấu thời gian vào ngày ____. (Trong một năm bước nhảy, nó sẽ là dd mm yyyy0.) Sử dụng dd mm yyyy1 hoặc dd mm yyyy2 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ừ

if ( preg_match('/^(?P\d+)[-\/](?P\d+)[-\/](?P\d+)$/', '1/1/2011', $matches) )
{
  $timestamp = mktime(0, 0, 0, ( $matches['month'] - 1 ), $matches['day'], $matches['year']);
}
5. Đó là,
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
7, nếu chạy vào ngày 31 tháng 5 năm 2022, sẽ được hiểu là
$to='23.1.2014-18:16:35'
list($part1,$part2) = explode('-', $to);
list($day, $month, $year) = explode('.', $part1);
list($hours, $minutes,$seconds) = explode(':', $part2);
$timeto =  mktime($hours, $minutes, $seconds, $month, $day, $year);
echo $timeto;
8, sẽ tràn vào dấu thời gian vào ngày ____. (Trong một năm bước nhảy, nó sẽ là dd mm yyyy0.) Sử dụng dd mm yyyy1 hoặc dd mm yyyy2 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

Chức năng PHP nào chuyển đổi một dữ liệu văn bản tiếng Anh thành dấu thời gian UNIX?

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).strtotime() function parses an English textual datetime into a Unix timestamp (the number of seconds since January 1 1970 00:00:00 GMT).

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ủ ..

Làm thế nào tôi có thể thay đổi dấu thời gian Unix cho đến nay trong PHP?

Bước 1: Chuyển đổi dấu thời gian UNIX sang DateTime PHP.Đầu tiên chúng tôi sẽ nhận được dấu thời gian Unix và sau đó chuyển đổi nó thành thời gian ngày PHP bằng lớp DateTime PHP.....
Bước 2: Hiển thị thời gian ngày PHP ở dạng được định dạng.....
Bước 3: Hiển thị thời gian ngày PHP với múi giờ cụ thể.....
Bước4: Hoàn thành mã ví dụ ..