2016-04-13 7 views
0

を取得し、として、Date.UTC()私のようなUTC形式で日付を取得するサーバーから値null

2016-04-13T02:37:13.211316121-04:00 

私は7分の時間差を取得します。私の日付を{{my_date |日付: 'h:mm a'}}、12:05 PMを表示して、それは11:58 AMをディスパッチします。だから私はこれを試しました

data.Created_at = new Date(Date.UTC(data.Created_at)) 

null値を返します。私のコードに問題はありますか?どのように完璧な日付を取得する必要がありますか?

答えて

0

この

Date.UTC(year,month,day,hours,minutes,seconds,millisec)

0

のようにそれを使用し、使用しているコードは、日付を処理するための無効方法です。あなたはこのコード

new Date('2016-04-13T02:37:13.211316121-04:00').toISOString(); 
0
var created_at = new Date(createdAt); 

var created_at_date = (created_at.getUTCMonth()+1) + "/" + created_at.getUTCDate() + "/" + created_at.getUTCFullYear() + "/" + created_at.getHours() + ":" 
+ created_at.getMinutes() + ":" + created_at.getSeconds(); 

を使用することができ、これはあなたのために働くことを願っています!

+0

日付について問題はありません。正確な時刻が必要です。 – Priyanka

+0

私は答えを編集しました... –

0

あなたがDate.UTCの構文をチェックすると、

として、Date.UTC(年、月[日[、時間[分[第二[ミリ秒]]]]])

これは、日付文字列ではなく、さまざまな変数の値を想定しています。分割して手動で解析することができます。

JSFiddle

var d = "2016-04-13T02:37:13.211316121-04:00"; 
var date_arr = d.split(/[-|T|\.|:]/); 
var o = new Date(Date.UTC(date_arr[0], date_arr[1], date_arr[2], date_arr[3], date_arr[4], date_arr[5])); 
console.log(date_arr, o); 

また、それは2:37がある時間を考慮して、私に8:07 AMを与え、私のタイムゾーンは+5:30です:

あなたはこのような何かを試すことができます。

+0

あなたのコードを試しました。私は '2016-04-13T04:44:56:38.438972462-04:00'を今すぐに取得しました。現在の時刻は2:22 PMです。あなたのコードが私を返します。10:14 AM – Priyanka

+0

私たちは考慮する必要があると思います「-4:00」の部分も同様です。 – Priyanka

+0

これは、私が述べたように、ローカルのタイムゾーンに基づいて日付を作成するためです。なぜあなたのタイムゾーンが '5:30'の近くにあるときに、' 2:37'のUTC日付が '11:58'になるのを期待していますか? – Rajesh