Moment.js ile geçerli zaman damgası nasıl döndürülür?


157

Millet,

MomentJS API'sini anlamaya çalışıyorum. Makinede geçerli saati almanın uygun yolu nedir?

var CurrentDate = moment();

vs

var CurrentDate = moment().format();

Dokümanlarını ayrıştırmaya çalışıyor ve ne kullanacağı belli değil.

http://momentjs.com/docs/#/query/is-a-moment/


1
Şu anki saat nedir? unix zaman damgası?
koma

RFC3339 ya da istemcilere geri dönmek için ne olursa olsun internet standart kimliği hayal ediyorum
Cmag

2
İstemciye geri dönüyorum ... hummm ... Sanırım onu ​​nodejs'e alıp tekrar momentjs örneğine dönüştürmek isteyen tarayıcıya gönderiyorsunuz?
koma

1
Üzgünüm, cevabımı yararlı buldunuz mu?
koma

1
kesinlikle, sanırım :) ile ilgili hızlı bir soru sorduvar now = new Date().getTime(); userObject.registered = moment(now).toDate();
Cmag

Yanıtlar:


239

Burada CurrentDate'e bir momentjs örneği ataıyorsunuz:

var CurrentDate = moment();

Burada sadece bir string, bir momentjs örneğinin varsayılan biçimlendirmesinin sonucu:

var CurrentDate = moment().format();

Ve burada ocak ayından bu yana geçen saniye sayısı ... iyi, unix zaman damgası:

var CurrentDate = moment().unix();

Ve burada ISO 8601 olarak başka bir dize ( ISO 8601 ve RFC 3339 Tarih Biçimleri arasındaki fark nedir? ):

var CurrentDate = moment().toISOString();

Ve bu da yapılabilir:

var a = moment();
var b = moment(a.toISOString());

console.log(a.isSame(b)); // true

bu kabul edilebilir mi? var now = new Date().getTime(); userObject.registered = moment(now).toDate();
Cmag

1
@Cmag, soruyu anlamadım, ama şuna bir bakın: jsfiddle.net/coma/bLe31qq0 , orada görebileceğiniz gibi, bir saniye sonra bile donmuş olmasından bu yana anı aynı kalıyor yeni Date () ile aynı davranış.
koma

yani aynı davranış?
Cmag

1
@Cmag, Evet, momentjsleri steroidler üzerinde bir Date nesnesi olarak düşünün ve toDate yöntemini yalnızca ham Date nesnesine ihtiyaç duyan üçüncü taraf kütüphanelerle çalışırken kullanın. Momjs'lerle, karmaşık zaman hesaplamaları daha kolay, hoştur. Onunla bir tarih seçici hazırladım
koma

Ayrıca .format('x')seçenek bir zaman damgası dizesi oluşturur.
Jimmy Knoot

66

moment().unix() bir unix zaman damgası alacaksınız

moment().valueOf() tam bir zaman damgası alacaksın


1
`Var CurrentDateUnixTimestamp = moment (). Unix (); biçimlendirmek için moment.unix (CurrentDateUnixTimestamp) .format ("YYYY-AA-GG SS: dd"); `
Glitch

unixZaman damgası ile fullzaman damgası arasındaki fark nedir ? Herhalde full1970 yılından bu yana milisaniye cinsinden ~ damgası ~ zaman akışını gösterir budur Oca 1 ama diğerini bilemiyorum.
DongBin Kim

3
.unix()Saniyeler içinde Unix zaman damgasını .valueOf()verir, milisaniye olarak Unix zaman damgasını verir (AKA her zaman Unix zaman damgası olarak düşündüğüm şey).
Andrew Koster

33

Hala cevap yok. Moment.js - Bu kadar basit bir görev dışında her şeyi yapabilir.

Bunu kullanıyorum:

moment().toDate().getTime()

1
Bunu daha iyi seviyorum +moment(). Daha fazla karakter, ancak okunması ve anlaşılması daha kolay.
16'da joemaller

@Joemaller ile hemfikirim, Javascript'in kendine özgü ilkeleri erken lol alınmazsa seni yakalayabilir
Ian Brindley

33

Bu şekilde kullanmaya çalışın:

let current_time = moment().format("HH:mm")

2
Craft4 doğrudur, lütfen nasıl kullanılacağı hakkında momentjs.com/docs/#/displaying/format adresine bakın Format, ancak cevabın soru ile tam olarak aynı hizada olduğundan emin olun.
simey.me

11

01-JAN-1970'den bu yana yalnızca milisaniye istiyorsanız,

var theMoment = moment(); // or whatever your moment instance is
var millis;

millis = +theMoment; // a short but not very readable form
// or
millis = theMoment.valueOf();
// or (almost sure not as efficient as above)
millis = theMoment.toDate().getTime();

4

Bunu dene

console.log(moment().format("MM ddd, YYYY hh:mm:ss a"));

console.log(moment().format("MM ddd, YYYY hh:mm:ss a"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>


2

Bu şekilde deneyin:

console.log(moment().format('L'));
moment().format('L');    // 05/25/2018
moment().format('l');    // 5/25/2018

Biçim Tarihleri:

moment().format('MMMM Do YYYY, h:mm:ss a'); // May 25th 2018, 2:02:13 pm
moment().format('dddd');                    // Friday
moment().format("MMM Do YY");               // May 25th 18
moment().format('YYYY [escaped] YYYY');     // 2018 escaped 2018
moment().format();                          // 2018-05-25T14:02:13-05:00

Daha fazla bilgi için https://momentjs.com/ adresini ziyaret edin .


1

Konuma Göre Alın:

moment.locale('pt-br')
return moment().format('DD/MM/YYYY HH:mm:ss')

1
.Locale () ne yapıyor?
Charith_32

Merhaba @ Charith_32, temelde bu sizin tanımladığınız biçimi çevirir. EX; .format ('LLL')
Darlan Dieterich

1

Ben bir nesne ile tüm veri bilgileri olabilir eklemek istiyorum:

const today = moment().toObject();

Bu özelliklere sahip bir nesne edinmelisiniz:

today: {
    date: 15,
    hours: 1,
    milliseconds: 927,
    minutes: 59,
    months: 4,
    seconds: 43,
    years: 2019
    }

Tarihleri ​​hesaplamanız gerektiğinde çok kullanışlıdır.


0

Momment.js'yi DD-AA-YYYY biçiminde kullanan geçerli tarih

const currentdate=moment().format("DD-MM-YYYY"); 
console.log(currentdate)
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.