2012-02-11 2 views
3

でリアルタイムに)(PHPのuniqidを変換するIには、JavaScript(jQueryの)でこれを実行するには、非常に短いコードを探しています:のJavaScript(jQueryの)

date("r",hexdec(substr(uniqid(),0,8))); 

助けてください。ありがとう。

+0

を? – troelskn

+0

uniqid()は、重複したIDを避けるためにmysqlに格納するためのものです(2人のユーザが同じミリ秒で "save"します)。 JSコードは、ユーザーが日付と時刻を表示するためのものです(マイクロ秒単位の精度は必要ありません)。 –

+0

また、 'uniqid()'のJavaScript実装が必要ですか、このデータはどこかから来ますか? – dfsq

答えて

2

この例で考えてみましょう:そのコードの目的は何

var uniqid = '4f36688f15996'; 

new Date(parseInt(uniqid.substr(0, 8), 16) * 1000); 
// Sat Feb 11 2012 14:09:35 GMT+0100 (CET) 
+0

Hmmm、var uniqidのものではなく、現在の時刻を返します。 =))http://jsfiddle.net/XzgBf/ –

+0

@Radio 'new'キーワードが見つかりませんでした。それは今作動する:http://jsfiddle.net/XzgBf/1/。 'new Date'と' Date'の違いについては、[MDN:Date](https://developer.mozilla.org/ja/JavaScript/Reference/Global_Objects/Date#Description)を参照してください。 –

+0

@Robありがとうございました。私は、Date、RegExpのような組み込みオブジェクトのために 'new'キーワードを省略するのに慣れています。しかし、この場合は' new'が重要です。 – dfsq

0

overcomplicatedようだ...

php > echo hexdec(substr(uniqid(),0,8)), "\n", time(); 
1328965876 
1328965876 

あなただけが必要なものにはJavaScript toStringを変換するために少しの書式設定を必要としています。

php > echo date('r'); 
Sat, 11 Feb 2012 14:12:16 +0100 

js> new Date().toString(); 
"Sat Feb 11 2012 14:11:51 GMT+0100 (CET)"