UTC tarih dizgilerinin, dizelerdeki gibi, üst sıradaki değerler en solda göründüğü gibi sözlüksel olarak karşılaştırılabileceğini unutmayın.
var s1 = '2011-03-29 17:06:21 UTC'
, s2 = '2001-09-09 01:46:40 UTC';
s1 > s2; // => true
s2 > s1; // => false
Sen örnek dizesinden tarihi alanlarını ayıklamak ve Date.UTC
yöntemini kullanarak milisaniye sayısını döndürebilir:
var getEpochMillis = function(dateStr) {
var r = /^\s*(\d{4})-(\d\d)-(\d\d)\s+(\d\d):(\d\d):(\d\d)\s+UTC\s*$/
, m = (""+dateStr).match(r);
return (m) ? Date.UTC(m[1], m[2]-1, m[3], m[4], m[5], m[6]) : undefined;
};
getEpochMillis('2011-03-29 17:06:21 UTC'); // => 1301418381000
getEpochMillis('2001-09-09 01:46:40 UTC'); // => 1000000000000
Neden düşüş var? Elegance için – maerics
+1, ancak Date.parse, Safari 4.1'de NaN değerini döndürür. Firefox 3.6'da gayet iyi çalışıyor. –
@Vik David: Baş döndürücü Safari için teşekkürler; Daha iyi desteklenmesi gereken ECMA-262 5. Baskıda tanımlanan UTC yöntemini kullanmak için cevabımı güncelledim. Tarih ayrıştırma, JavaScript'te bir acıdır ... – maerics