将UNIX时间戳转换为格式化日期字符串

时间:2012-04-06 07:08:26

标签: php unix-timestamp

使用PHP,我想将UNIX时间戳转换为与此类似的日期字符串:2008-07-17T09:24:17Z

如何将1333699439等时间戳转换为2008-07-17T09:24:17Z

10 个答案:

答案 0 :(得分:283)

请尝试gmdate,如下所示:

<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>

答案 1 :(得分:106)

使用日期函数date ( string $format [, int $timestamp = time() ] )

使用date('c',time())格式转换为ISO 8601日期(在PHP 5中添加) - 2012-04-06T12:45:47+05:30

使用date("Y-m-d\TH:i:s\Z",1333699439)获取2012-04-06T13:33:59Z

以下是日期功能支持的一些格式

<?php
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
?>

答案 2 :(得分:47)

假设您使用的是PHP5.3,那么处理日期的现代方式是通过原生DateTime class。要获得当前时间,您只需致电

$currentTime = new DateTime();

从特定时间戳(即不是现在)

创建DateTime对象
$currentTime = DateTime::createFromFormat( 'U', $timestamp );

要获取格式化字符串,您可以调用

$formattedString = $currentTime->format( 'c' );

请参阅manual page here

答案 3 :(得分:13)

设置默认时区以获得正确的结果非常重要

<?php
// set default timezone
date_default_timezone_set('Europe/Berlin');

// timestamp
$timestamp = 1307595105;

// output
echo date('d M Y H:i:s Z',$timestamp);
echo date('c',$timestamp);
?> 

在线转化帮助:http://freeonlinetools24.com/timestamp

答案 4 :(得分:7)

<?php
$timestamp=1486830234542;
echo date('Y-m-d H:i:s', $timestamp/1000);
?>

答案 5 :(得分:6)

$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);

这应该适用于。

答案 6 :(得分:1)

我发现此对话中的信息非常有用,我只是想通过使用MySQL数据库中的时间戳和一点PHP来添加我的想法

 <?= date("Y-m-d\TH:i:s\+01:00",strtotime($column['loggedin'])) ?>

输出结果为:2017-03-03T08:22:36 + 01:00

非常感谢Stewe你的回答对我来说是一个尤里卡。

答案 7 :(得分:1)

DateTime类在构造函数中采用一个字符串。如果在时间戳记前面加上@字符,则会创建带有时间戳记的DateTime对象。要进行格式化,请使用“ c”格式...一种预定义的ISO 8601复合格式。

如果可以像这样使用DateTime类...设置正确的时区,或者如果需要UTC时间,则将其忽略。

// script

data: () => ({
  pwra: {
    pwra_code: "26729191407887178"
  },
  pwraCodeList: [...]
}),

computed: {
  pwraCode: {
    get: function() {
      // find the code if it exist, else, just return the typed input
      const code = this.pwraCodeList.find(
        code => code.value === this.pwra.pwra_code
      );
      return code || this.pwra.pwra_code;
    },
    set: function(value) {
      this.pwra.pwra_code = value;
    }
  }
}

答案 8 :(得分:0)

你可以像.....

$originalDate = "1585876500";

echo $newDate = date("Y-m-d h:i:sa", date($originalDate));

答案 9 :(得分:-3)

检查此网址http://www.epochconverter.com/

拥有所有语言Epoch&amp; Unix时间戳。