2011-08-13 5 views
0

タイムスタンプを読みやすいものに変換するためにこのJavascriptを書いています。それは完全に動作します。しかし、私はPHPでそれを行う必要がありますが、方法を知らない。明らかに私は時間の警告を望んでいないが、私はPHPの変数としてそれを持っていると思います。何か案は?JavascriptではなくJavaScript(タイムスタンプ変換)でこれを行うには

<script> 
var bmsTime ="39845.03"; 
var date = new Date('31 dec 1899'); 
date.setTime(date.getTime() + bmsTime* 24 * 60 * 60 *1000); 

alert (date); 
</script> 
+0

JavaScriptの日付の出力形式は何ですか? – Bojangles

答えて

1

date functionを使用すると、timestampという追加パラメータが必要です。しかし、PHPのタイムスタンプにはJavaScriptのように秒数ではなく、ミリ秒であるので、1 000で割り:

echo date('l jS \of F Y h:i:s A', $javascript_timestamp/1000); 
+0

は魚に人を教える:http://tinyurl.com/ybydqvp – Jacksonkr

+0

@ジャックソンは少し秒についての少しの発言を追加しました – Greenisha

0

短い答え:あなたはタイムゾーンのブラウザ/クライアントを知らないとあなたは正しく、これを行うことはできませんが使っています。 (サーバーのタイムゾーンを使用して - または任意のPHP用に設定されている)

長い答え:

$bmsTime = 39845.03; 
$date = mktime(0, 0, 0, 12, 31, 1899); 
$date += $bmsTime * 24 * 60 * 60; // $date are the seconds relative to "the epoc" (1970-01-01 UTC) 

echo date('c', $date); 
+0

は間違っています。 PHPタイムスタンプはミリ秒ではなく、秒単位であるため、1000を掛ける必要はありません。JS – Greenisha

+0

@Greenisha修正済みです。ありがとうございます。 – Shi

+0

@Shiそれはmktimeが私にエポックの前に行くことを許可しないようです。 – Peter

関連する問題