2017-05-05 13 views
0

json APIの「DATE」:「/ Date(862588800000 + 0800)/」のような時間が表示されていますが、日付形式に変換する必要があります:04/28/2017 10:20 :05(MM/dd/yyyy HH:mm:sss)。助けが必要角度変換のCST

答えて

2

まず、値をDateオブジェクトに解析し、出力をフォーマットすることから始めてください。

最初の数字部分は、エポック(1970-01-01)からのミリ秒で、その後にHHMMのタイムゾーンオフセットが続く時間値のように見えます。エポック前の時間値は負であるので、部品を入手するための正規表現は次のようになります。

/[+-]?\d+/g 

は時間値とオフセットの両方に一致するはずです。

function parseDate(s) { 
 
    // Get the parts 
 
    var b = s.match(/[+-]?\d+/g); 
 

 
    // If appears invalid, return invalid Date  
 
    if (!b || b.length != 2) return new Date(NaN); 
 
    
 
    // Get sign of offset 
 
    var sign = +b[1] < 0? -1 : 1; 
 

 
    // Convert offset to milliseconds 
 
    // Multiplication converts the strings to numbers so + adds 
 
    var offset = sign * b[1].substr(1,2)*3.6e6 + b[1].substr(3,2)*6e4; 
 

 
    // Adjust time value by offset, create a Date and return it 
 
    // Subtraction also converts the time value to a number 
 
    return new Date(b[0] - offset); 
 
} 
 

 
var s = '/Date(862588800000+0800)/'; 
 

 
console.log(parseDate(s));
:オフセット、その後(Dateコンストラクタに渡された値が数値であることが必要であり、あるいはそれは文字列だかのように解析されます)日付を作成するために使用することにより、

時間値を調整することができますTHER、日付をフォーマットすると

/\(-?\d+[+-]\d{4}\)/.test(s) 

検証はまた、のような正規表現を使用することができますeはそれについての多くの質問です。Where can I find documentation on formatting a date in JavaScript?

+0

素晴らしい人..ありがとうございます。あなたは1997年5月2日にそれを変更するために私のためにもう少し何かできますか?現在、私は金を受けています。1997年5月2日13:30:00 GMT + 0530(IST) – Anuj

+0

私はそれを行いました。手伝ってくれてありがとう。 – Anuj

関連する問題