web-dev-qa-db-ja.com

13桁のUnixタイムスタンプを日付と時刻に変換する方法は?

私はこの13桁のタイムスタンプ1443852054000を持っていますが、それを日付と時刻に変換したいが成功しません。私はこのコードを試しました:

echo date('Y-m-d h:i:s',$item->timestamp); 

私とこれもうまくいきません

$unix_time = date('Ymdhis', strtotime($datetime ));

この :

$item = strtotime($txn_row['appoint_date']); 
<?php echo date("Y-m-d H:i:s", $time); ?>

何を使うべきですか?

このタイムスタンプはミリ秒単位であり、秒単位ではありません。 1000で除算し、date関数を使用します。

echo date('Y-m-d h:i:s', $item->timestamp / 1000);
// e.g
echo date('Y-m-d h:i:s',1443852054000/1000);
// shows 2015-10-03 02:00:54
26
u_mulder

DateTime :: createFromFormat でこれを実現できます。

13 digitsを持つtimestampがあるため、DateTimeで使用するには、1000で割る必要があります。

$ts = 1443852054000 / 1000; // we're basically removing the last 3 zeros
$date = DateTime::createFromFormat("U", $ts)->format("Y-m-d h:i:s");
echo $date;
//2015-10-03 06:00:54

[〜#〜] demo [〜#〜]

http://sandbox.onlinephpfunctions.com/code/d0d01718e0fc02574b401e798aaa201137658acb


警告を避けるために デフォルトのタイムゾーンを設定

date_default_timezone_set('Europe/Lisbon');

[〜#〜] note [〜#〜]

phpの日付と時刻の詳細は phpが正しい方法

1
Pedro Lobito

JavaScriptでは、13桁のタイムスタンプがミリ秒単位で時間を表すために使用されます。 PHP 10では、数字のタイムスタンプを使用して時間を秒単位で表します。したがって、1000で割り、10桁になるように丸めます。

$timestamp = 1443852054000;
echo date('Y-m-d h:i:s', floor($timestamp / 1000));
0
santhosh