以下の文字列がJSON形式のレスポンスオブジェクトから返され、便利なものに解析したいと思います:/ Date(1283457528340)/このJSON datetimeはどのように変換しますか?
私はJavaScriptを使用してユーザーフレンドリーなものをどのように解析しますか?
以下の文字列がJSON形式のレスポンスオブジェクトから返され、便利なものに解析したいと思います:/ Date(1283457528340)/このJSON datetimeはどのように変換しますか?
私はJavaScriptを使用してユーザーフレンドリーなものをどのように解析しますか?
これはエポックからのミリ秒数です。
この関数は、文字列から数値を抽出し、その数値から作成されたDateオブジェクトを返します。例えば
function dateFromStringWithTime(str) {
var match;
if (!(match = str.match(/\d+/))) {
return false;
}
var date = new Date();
date.setTime (match[0] - 0);
return date;
}
、
console.log(dateFromStringWithTime('/Date(1283457528340)/').toString());
出力は次のようになります。
Fri Sep 03 2010 02:58:48 GMT+0700 (ICT)
標準によって私たちが省略することができるにもかかわらず、絶対的な互換性を維持するために 'if'文の結果ブロックの周りに中括弧(' {}) 'を維持することが望ましいです。 –
提案していただきありがとうございます。 :) – Thai
CHAMPのように働いた!ありがとう! –
に依存します。その価値は何を表していますか? UNIXのタイムスタンプのミリ秒(それ以外の場合)を仮定すると、値を抽出してからparseInt
を適用し、新しいDate
オブジェクトを構築することができます。
var str = "/Date(1283457528340)/";
var matches = str.match(/([0-9]+)/);
var d = parseInt(matches[0]);
var obj = new Date(d);
通常、Date
オブジェクトをそのまま使用することができます。 これはテストされておらず、誤植/バグがあるかもしれませんが、そのアイデアは健全でなければなりません。
編集:matches[1]
- >matches[0]
ここでは、検証やエラー処理を行っていないことにも注意してください。 –
あなたがそのポストで他の有用な詳細を提供することができますか?これはUnixのタイムスタンプですか?それはUTCエンコードされているため、現地時間に変換する必要がありますか?それは本当にその特定の文字列 '/ Date(...)/'として戻ってくるのですか?数字を解析する必要がありますか? – jcolebrand