2012-04-06 20 views

答えて

234

はこれを試してみてください参照してください。

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

'gmdate()'はGMTでの日付/時刻を返しません。 'date()'はローカルの日付/時刻を返します。 –

+4

上記のコメントはこの文脈では意味がありません。 answerで示されているように、タイムスタンプとして2番目のパラメータを指定した日付を使用すると、ローカルタイムゾーンで日付が表示されません。タイムゾーン情報が無視され、タイムスタンプ情報にタイムゾーン情報が含まれないため、日付が印刷されます。 gmdateと2番目のタイムスタンプパラメータ付きの日付(1333699439)は同じ日付時刻を出力します。 –

+0

@MattK:ZはUTCを意味するので意味があります。 Tinus:Unixタイムスタンプにタイムゾーンオフセットが含まれていません。 'date'と' gmdate'の出力は、TZ変数に基づいて異なります(少なくとも* nix上で) –

92

使用の日付関数date (string $format [, int $timestamp = time() ])

(PHP 5で追加)ISO 8601の日付に変換するフォーマットとして使用date('c',time())に - ここで2012-04-06T13:33:59Z

を取得する2012-04-06T12:45:47+05:30

使用date("Y-m-d\TH:i:s\Z",1333699439)は、フォーマットの日付の一部です関数がサポートされています

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

私はどのように 'c'で特定のタイムスタンプを変換できますか?たとえば、1333699439 –

+1

の日付( 'c'、1333699439) –

+0

これで問題は解決しましたか? –

38

PHP5.3を使用して日付を処理する現代的な方法は、ネイティブDateTime class経由です。あなたはちょうどあなたが、その後

$formattedString = $currentTime->format('c'); 
を呼び出すことができますフォーマットされた文字列を取得するには、特定のタイムスタンプ(つまり、今ではない)

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

からDateTimeオブジェクトを作成するには

$currentTime = new DateTime(); 

を呼び出すことができ、現在の時間を取得するには

manual page here

+1

これで特定のタイムスタンプをどのように変換できますか?例えば1333699439 –

+0

@Norseもちろん私は彼のポストを読む。彼が必要としたすべての情報は私のポストにあった。彼がしなければならなかったのは、DateTimeオブジェクトのPHPドキュメントを読んだだけでした。私はそれをさらに明確にするために投稿を編集しました。 DateTimeオブジェクトはPHPで動作する方法であり、すべての初心者がそれを使用するように勧められます。まだ、私はその答えを提供している唯一の人です。 Btw私はあなたのコメントが少し積極的で、まったくSOの精神ではないことを知っています。 – liquorvicar

+0

@Ahmetvardarこれはすべて私がリンクを提供したPHPドキュメントにありますが、私の編集を参照してください。 DateTimeオブジェクトの使用を強くお勧めします。タイムゾーンなどを含む日付/時刻の優れたサポートを提供します – liquorvicar

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

これはに動作するはずです。

11

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

+1

ISO8601では、 'Z'はUTC時間であることを示すために使用されるので、タイムゾーンは' UTC'に設定する必要があります –

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

は、私はちょうど私のMySQLデータベースからのタイムスタンプと

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

出力された少しPHPを使用して、私はそれを考え出した方法を追加したいように役立つ、この会話の中で情報を見つけました: 2017-03-03T08:22:36 + 01:00

おかげさまで、あなたは私のユーレカと答えました。

関連する問題