2015-07-14 9 views
11

new Date(..).getTime() powinien zwrócić znacznik czasu w milisekundach. Zgodnie z documentation of momentJS wyrażenie moment(..).valueOf() powinno wykonać ten sam (znacznik czasu powrotu w milisekundach dla danej daty).new Data (..). GetTime() nie jest równy momentowi (..). ValueOf() w chwiliJS?

Sprawdziłem z poniższym przykładzie danych:

var timeStampDate = new Date("2015-03-25").getTime(); //timestamp in milliseconds? 
> 1427241600000 
var timeStampMoment = moment("03-25-2015", "MMDDYYYY").valueOf(); //timestamp in milliseconds? 
> 1427238000000 

Jak widać wyniki nie były takie same.

Teraz szukam funkcji w momentJS, która zwraca mi dokładnie te same dane, które wyrażenie new Date(..).getTime().

+2

to nie rozwiąże problemu, ale ogólnie jest to dobry pomysł, aby mieć ciąg formatu dopasować format wejściowy: 'moment (" 03-25-2015 "," MM-DD-RRRR ")' –

Odpowiedz

21

Data konstruktor doc:

Strefa czasowa UTC służy do interpretowania argumentów w formacie ISO 8601, które nie zawierają informacji o strefie czasowej

chwila konstruktor doc:

Jeśli nie określisz przesunięcia strefy czasowej, parsowanie ciągu spowoduje utworzenie daty w bieżącej strefie czasowej

tak określające strefę czasową w wynikach chwila konstruktorów w tym samym zachowanie jak data:

var timeStampMoment = moment("03-25-2015 +0000", "MM-DD-YYYY Z").valueOf(); //> 1427241600000