214

PHPを使用して、UNIXタイムスタンプを次のような日付文字列に変換したいと思います。2008-07-17T09:24:17Z

のようなタイムスタンプを変換するにはどうすればよい1333699439です2008-07-17T09:24:17Zか?

4

9 に答える 9

366

このようにしてみてくださいgmdate

<?php
$timestamp=1333699439;
echo gmdate("Y-m-d\TH:i:s\Z", $timestamp);
?>
于 2012-04-06T07:20:10.060 に答える
131

日付関数を使用する 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
?>
于 2012-04-06T07:11:57.243 に答える
62

PHP5.3を使用していると仮定すると、日付を処理する最新の方法は、ネイティブのDateTimeクラスを使用することです。現在の時刻を取得するには、電話するだけです

$currentTime = new DateTime();

特定のタイムスタンプからDateTimeオブジェクトを作成するには(つまり、現在ではない)

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

フォーマットされた文字列を取得するには、次のように呼び出すことができます

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

こちらのマニュアルページを参照してください

于 2012-04-06T07:14:14.760 に答える
21

正しい結果を得るには、デフォルトのタイムゾーンを設定することが非常に重要です

<?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

于 2015-04-06T23:00:53.633 に答える
18
<?php
$timestamp=1486830234542;
echo date('Y-m-d H:i:s', $timestamp/1000);
?>
于 2017-02-16T07:24:47.033 に答える
7
$unixtime_to_date = date('jS F Y h:i:s A (T)', $unixtime);

これはうまくいくはずです。

于 2012-12-03T12:59:49.733 に答える
5

DateTimeクラスは、コンストラクターで文字列を受け取ります。タイムスタンプの前に@文字を付けると、タイムスタンプを使用してDateTimeオブジェクトが作成されます。フォーマットには、「c」フォーマットを使用します...事前定義されたISO8601複合フォーマット。

このようにDateTimeクラスを使用できる場合は、適切なタイムゾーンを設定するか、UTC時刻が必要な場合は省略してください。

$dt = new DateTime('@1333699439');
$dt->setTimezone(new DateTimeZone('America/New_York'));
echo $dt->format('c');
于 2020-09-22T10:42:40.693 に答える
1

この会話の情報は非常に役に立ったので、MySQLデータベースのタイムスタンプと小さなPHPを使用して、それをどのように理解したかを追加したいと思いました。

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

出力は次のとおりです:2017-03-03T08:22:36 + 01:00

どうもありがとうSteweあなたが答えるのは私にとってユーレカでした。

于 2017-03-03T23:14:07.853 に答える
1

あなたは次のようにすることができます.....

$originalDate = "1585876500";

echo $newDate = date("Y-m-d h:i:sa", date($originalDate));
于 2020-06-26T11:31:59.077 に答える