2016-12-28 11 views
0

私は、サーバーから受信していますこのような形式に実際の日付を比較したい: item.expires_date.slice 「2016年11月28日夜09時10分57秒その他、各種/ GMT」この形式で実際の日付を取得するにはどうすればよいですか?

でjavascriptどうすればこのことが可能でしょうか?特別一部をその他、各種/ GMT

私がどれだけ私はこれを達成することができます2016年11月28日 を比較したい場合には

:それは動作しません

var today = new Date().toISOString().slice(0, 10); 

    if(item.expires_date.slice(0, 10) > today) { 
console.log("This item have expired"); 

    } else { 

     console.log("this item has not expired"); 
    } 

     } 

それがアイテムにもたらすために有効期限が切れていません比較日付: 2016年11月28日 - 2016年12月28日 ありがとう!

答えて

2

"など/ GMT" は "+ 00 GMT:00" と同じであるので、あなたはそれを削除し、文字列からDateオブジェクトを作成することができます

var s = "2016-11-28 22:10:57 Etc/GMT"; 
 
var d = new Date(Date.parse(s.replace("Etc/", ""))); 
 
console.log(d.toString());

その後、 dと現在の日付を比較できます。

+0

私はあなたのコードの一部 – arnoldssss

+0

は注意してくださいを使用おかげで、タイムゾーンの一部を除去することは、ローカルとして扱われ、したがって、異なるオフセットを持つすべての時間帯におけるさまざまな瞬間を表すことを意味します。それが必要なのでしょうか?それともいつもGMTでなければならないのですか?任意のオフセット無し – RobG

+0

のETC/GMTはUTC日付であり、ロケール日が(それが正常にされる)UTCと異なる場合に、上記のコードが失敗するような解析されるべきです。 Etc/GMTの詳細については、[この回答](http://stackoverflow.com/questions/7303580/understanding-the-etc-gmt-time-zone)を参照してください。 –

関連する問題