2012-07-16 15 views

Odpowiedz

17
var input = "2009-07-15 00:00:00 - 2009-07-15 08:16:23"; 
input = input.split(" - ").map(function (date){ 
    return Date.parse(date+"-0500")/1000; 
}).join(" - "); 

Demo

Date.parse docs

Uwaga: to nie będzie działać na starszych przeglądarkach, ponieważ używam Array.map, ale myślę, że powinieneś być w stanie łatwo go pasowana.

+1

to nie działa nawet lub twoje demo w Firefoksie 19.0.2 – Sergiu

59

Zaleca się stosowanie Moment Date lib podczas pracy z datami w js. Jest naprawdę lekki i niesamowity.

var timeStamp = (moment('2009-07-15 00:00:00').unix())*1000 
+2

Ta biblioteka ułatwia czyszczenie składni i logikę. Wydaje się, że warto to uwzględnić z funkcją node.js skoncentrowaną na dacie/czasie. Minimum 6 KB, dla osób zainteresowanych włączeniem tego po stronie przeglądarki. – ekillaby

+2

Naprawdę. Po wielu zmaganiach z innymi odpowiedziami podczas próby 'moment.js', był to natychmiastowy spokój ducha. Błogosław osobę, która stworzyła 'moment.js' !!! – Nav

+1

Działa to również z NodeJs, co jest ogromnym plusem. –

15

w JavaScript można bezpośrednio przekazać ciąg do obiektu Date konstruktora, jak

var date = new Date('2009-07-15 00:00:00'.split(' ').join('T'))

które dadzą Ci obiekt Date i dostać się znacznik czasu z nim można zrobić

date.getTime()/1000

podzielenie przez 1000, ponieważ getTime da znaczniki czasu w milisekundach:

Working Demo

UWAGA:

Firefox nie jest w stanie przetworzyć dany format czasu data, więc musimy przekształcić go w odpowiednim formacie pierwsze, że po prostu trzeba wymienić przestrzeń pomiędzy datą i godziną komponent „T”, które sprawiają, że ważne Formatowanie ISO 8601 i firefox będzie mógł je analizować

referencyjny:

Date.parse in MDN

ISO 8601 Date Format

Same question asked here

+0

to nie działa równo lub twoja wersja demonstracyjna w Firefoksie 19.0.2 – Sergiu

+0

ok, firefox jakoś nie jest w stanie przetworzyć formatu daty, oczekuje tylko jednego z tych formatów http: // www .w3.org/TR/NOTE-datetime –

+1

sprawdź zaktualizowany link demo będzie działał z firefox aswell –

0

stosując metodę podziału można zmienić mrówczan datetime do tej pory, jego bardzo proste i łatwe dla każdego.

var str = "2017-05-09T00:00:00.000Z"; 
var res = str.split("-",2); 
var res = str.split("T",1); 
var temp=res; 
Powiązane problemy