moment.js geçerli saati milisaniye cinsinden alıyor mu?


93
var timeArr = moment().format('HH:mm:ss').split(':');

var timeInMilliseconds = (timeArr[0] * 3600000) + (timeArr[1] * 60000);

Bu çözüm işe yarıyor, test ediyor, ancak kendi kodumu kullanmak yerine sadece moment api'sini kullanmayı tercih ederim.

Bu kod, milisaniye cinsinden TODAYS saatini döndürür. Milisaniye içinde başka bir işlevi çağırmam gerekiyor ... Epoch kullanamıyorum. Milisaniye cinsinden biçimlendirilmiş bugünün zamanına ihtiyacınız var. 09:00 = 3.24e + 7 milisaniye 9:00 pm = 6.84e + 7 milisaniye.


9
var timeInMilliseconds = moment().valueOf();Bkz. Jsfiddle.net/rc1s2ek0
IronAces

bu çağdan beri .... Çağın değil, milisaniye cinsinden bugünün zamanına ihtiyacım var.

Haklısın, ancak sorunuz zamanı milisaniye cinsinden istediğinizi belirtiyor ...
IronAces

2
En kolay çağında farkını almak için muhtemelen artık eksi çağında bugün başlangıcından
Geert-Jan

Yanıtlar:



38

Bu bağlantıya bakın http://momentjs.com/docs/#/displaying/unix-timestamp-milliseconds/

valueOf() aradığınız işlev.

Cevabımı düzenlemek (OP, çağdan beri değil, bugünün milisaniyelerini istiyor)

milliseconds()Fonksiyonu istiyorsun VEYA yoluna gidebilirsinmoment().valueOf()


1
Teşekkürler ama sorduğum şey bu değil, bu çağdan beri ... milisaniye cinsinden bugünün şimdiki zamanı.

@ code20 ahh, anladım. Amy yukarıda cevaplamış gibi görünüyor. Milisaniye () işlevini arıyorsunuz veya boş bir an oluşturup valueOf işlevini kullanabilirsiniz. Cevabımı yukarıda gözden geçirdim. momentjs orada çok iyi belgelere sahip ve oldukça düzenli. Onunla oldukça düzgün şeyler yapabilirsiniz. Bir şansın olursa ona bakmalısın!
James

Amys cevabı yanlış. Bu 0-999 milisaniye zamanı, çok sayıda dokümanı okudum ve araştırdım. Gerçekten bunu çözemiyorum.

@ code20 Bugünün milisaniye tarihini mi öğrenmek istiyorsunuz? Biraz kafam karıştı. Milisaniye dönem zamanını kullanamazsınız?
James

1
@ code20 Gerçekten ne istediğinize daha spesifik olmanız gerekiyor. Şimdiye kadar, çağdan bu yana ms için yanıtlar aldınız veya istediğiniz "geçerli zamanın ms'si" buydu. Gece yarısından bu yana geçen milisaniyeler oldukça farklı.
Amy

21
var timeArr = moment().format('x');

format () belgelerine göre Unix Milisaniye Zaman Damgasını döndürür .


8
Dikkatli olun, zaman damgasını milisaniye cinsinden döndürür, ancak bir String olarak, bir sayı döndüren anı () tercih eder. ValueOf ()
Julien,

10

Geçerli zaman damgasını aynı gün saat 12: 00'den çıkarabilirsiniz.

Mevcut zaman damgası kullanılıyor:

moment().valueOf() - moment().startOf('day').valueOf()

Keyfi günü kullanma:

moment(someDate).valueOf() - moment(someDate).startOf('day').valueOf()

0

Sadece bireysel zaman bileşenlerini alabilir ve toplamı hesaplayabilirsiniz. Moment'in bu özelliğin sizin için düzgün bir şekilde paketlenmiş olmasını bekliyorsunuz gibi görünüyor, ancak öyle değil. İnsanların çok ihtiyaç duyduğu bir şey olduğundan şüpheliyim.

Misal:

var m = moment();

var ms = m.milliseconds() + 1000 * (m.seconds() + 60 * (m.minutes() + 60 * m.hours()));

console.log(ms);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>


0

Bu ileti dizisi Google'da bulduğum ilk ileti olduğundan, bulduğum doğru ve tembel bir yol şuydu:

const momentObject = moment().toObject();
// date doesn't exist with duration, but day does so use it instead
//   -1 because moment start from date 1, but a duration start from 0
const durationCompatibleObject = { ... momentObject, day: momentObject.date - 1 };
delete durationCompatibleObject.date;

const yourDuration = moment.duration(durationCompatibleObject);
// yourDuration.asMilliseconds()

şimdi sadece bazı prototipleri (toDuration ()) / .asMilliseconds () gibi ana ekleyin ve kolayca milisaniyeye () veya herhangi bir şeye geçiş yapabilirsiniz!


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.