簡體   English   中英

將時間戳轉換為可讀的日期/時間 PHP

[英]Convert timestamp to readable date/time PHP

我有一個時間戳存儲在 session (1299446702) 中。

如何將其轉換為 PHP 中的可讀日期/時間? 我試過srttotime等都無濟於事。

使用 PHP 的date()函數。

例子:

echo date('m/d/Y', 1299446702);

strtotime 將日期字符串轉換為時間戳。 你想做相反的事情,即date 典型的 mysql 日期格式是date('Ymd H:i:s'); 查看手冊頁了解其他字母代表什么。

如果您有要使用的時間戳(顯然您這樣做),則它是date()的第二個參數。

我剛剛在 Rocket 的回答中添加了 H:i:s 以獲取時間和日期。

echo date('m/d/Y H:i:s', 1299446702);

輸出:03/06/2011 16:25:02

$timestamp = 1465298940;
$datetimeFormat = 'Y-m-d H:i:s';

$date = new \DateTime();
// If you must have use time zones
// $date = new \DateTime('now', new \DateTimeZone('Europe/Helsinki'));
$date->setTimestamp($timestamp);
echo $date->format($datetimeFormat);

結果:2016-06-07 14:29:00

其他時區:

如果您使用 PHP date() ,則可以使用此代碼獲取日期、時間、秒等。

$time = time();               // you have 1299446702 in time
$year = $time/31556926 % 12;  // to get year
$week = $time / 604800 % 52;  // to get weeks
$hour = $time / 3600 % 24;    // to get hours
$minute = $time / 60 % 60;    // to get minutes
$second = $time % 60;         // to get seconds

如果有人想要將時間戳直接轉換為 DateTime 對象,則有一個簡單的單行:

$timestamp = 1299446702;
$date = DateTime::createFromFormat('U', $timestamp);

在@sromero 注釋之后,時區參數(DateTime::createFromFormat() 中的第三個參數)在傳遞 unix 時間戳時被忽略,因此下面的代碼是不必要的。

$date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); // not needed, 3rd parameter is ignored

您可以查看 PHP 的DateTime::createFromFormat手冊以獲取更多信息和選項。

試試這個:

echo date('m/d/Y H:i:s', 1541843467);

嘗試一下。

<?php
 $timestamp=1333342365;
 echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
 ?>
$epoch = 1483228800;
$dt = new DateTime("@$epoch");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

在上面的例子中,"r" 和 "Ymd H:i:s" 是 PHP 日期格式,其他例子:

格式輸出

r              -----    Wed, 15 Mar 2017 12:00:00 +0100 (RFC 2822 date)
c              -----    2017-03-15T12:00:00+01:00 (ISO 8601 date)
M/d/Y          -----    Mar/15/2017
d-m-Y          -----    15-03-2017
Y-m-d H:i:s    -----    2017-03-15 12:00:00

你可以試試這個:

   $mytimestamp = 1465298940;

   echo gmdate("m-d-Y", $mytimestamp);

輸出 :

06-07-2016

除非您需要自定義日期和時間格式,否則使用內置日期時間格式常量之一更容易、更不容易出錯且更具可讀性:

echo date(DATE_RFC822, 1368496604);

echo date("l M j, Y",$res1['timep']);
這對於將 unix 時間戳轉換為可讀日期以及日期非常有用。 示例:2016 年 7 月 7 日,星期四

echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890);
I have used this:
<?php echo date('d/m/Y H:i a', $row['start_time']); ?>
echo strtotime('2/02/2018');

PHP函數strtotime ()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM