将时间戳转换为可读的date/时间PHP

我有一个会话中存储的时间戳(1299446702)。

我怎样才能将它转换为PHP中可读的date/时间? 我试过srttotime等无济于事。

使用PHP的date()函数。

例:

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

strtotime将datestring转换为时间戳。 你想做的是相反的,这是date 。 典型的mysqldate格式是date('Ymd H:i:s'); 查看手册页,了解其他字母代表的内容。

如果你有一个你想使用的时间戳(显然你是),这是date()的第二个参数。

我只是把H:i:s加到了Rocket的答案上,以便与date一起获得时间。

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

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

如果你使用php date() ,你可以使用这个代码来获取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 
 $timestamp = 1465298940; $datetimeFormat = 'Ymd 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 $timestamp=1333342365; echo gmdate("Ymd\TH:i:s\Z", $timestamp); ?> 

你可以试试这个:

  $mytimestamp = 1465298940; echo gmdate("mdY", $mytimestamp); 

输出:

2016年6月7日

echo date("l M j, Y",$res1['timep']);
这对于将unix时间戳与date一起转换为可读的date非常有用。 例如:2016年7月7日(星期四)

除非需要自定义的date和时间格式,否则使用内置的date时间格式常量更容易,更不容易出错,更易读:

 echo date(DATE_RFC822, 1368496604); 
 echo 'Le '.date('d/m/Y', 1234567890).' &agrave; '.date('H:i:s', 1234567890); 

我知道这是一个古老的问题,但它的search结果很高。

如果有人希望将时间戳直接转换为DateTime对象,则有一个简单的方法:

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

如有必要,您还可以包含时区信息:

 $date = DateTime::createFromFormat('U', $timestamp, new DateTimeZone('UTC'); 

您可以查看PHP的手册DateTime :: createFromFormat获取更多信息和选项。

用这个。

  function format_date($str) { $month = array(" ", "Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec"); $y = explode(' ', $str); $x = explode('-', $y[0]); $date = ""; $m = (int)$x[1]; $m = $month[$m]; $st = array(1, 21, 31); $nd = array(2, 22); $rd = array(3, 23); if(in_array( $x[2], $st)) { $date = $x[2].'st'; } else if(in_array( $x[2], $nd)) { $date .= $x[2].'nd'; } else if(in_array( $x[2], $rd)) { $date .= $x[2].'rd'; } else { $date .= $x[2].'th'; } $date .= ' ' . $m . ', ' . $x[0]; return $date; }