2016-03-20 21 views
0

Buradaki benzer sorunlar hakkında burada çeşitli yayınlar okudum ama hiç sorunumu çözemedim.moment.js ve kullanımdan kaldırılmış uyarı. zaman damgası anı tarihi nesnesi

moment.js tarih nesnesini manipüle ederim ve sonra zaman damgası olarak saklarım.

AMA, bu zaman damgasını tekrar okumaya çalıştığımda, bu kullanımdan kaldırılmış bir uyarı alıyorum.

"" Kullanımdan kaldırılma uyarısı: anı inşaatı js'ye geri döner. Bu cesaret kırıldı ve yaklaşan ana sürümde kaldırılacak. Daha fazla bilgi için lütfen https://github.com/moment/moment/issues/1407'a bakın. "

Date(), format(), anı (myTimeStamp, 'ddd, DD MMM YYYY HH: mm: ss ZZ') denedim; uyarı ...

Yani, örneğin, benim zaman damgası gibi görünecektir:

const zaman damgası = onu geri okumak ve ay/gün/yıl ayrıştırmak deneyin '1458586740000'

, o zaman saat/dak/pm, vs ... Bu zaman damgasını bir moment.js nesnesine almam gerekiyor .. Hiçbir şey benim için çalışmıyor Herhangi bir fikir

Bu zaman damgasını nasıl elde edebilirim: '1458586740000', bir moment.js nesnesine, bu nedenle tarih istediğim gibi ayıklayabilirim?

DÜZENLEME: bu, zaman damgasını nasıl saklıyorum. Bu yüzden onu geri almam gerek.

let timeStamp = Moment(state[_Date]) 
          .add({ hour: state[AMPM] === 'PM' 
             ? +state[Hour] + 12 
             : state[Hour] , 
            minute: state[Min] }).format('x') 
+0

"moment.unix (timestamp) .format (" AA/GG/YYYY ")' yi denediniz mi? –

+0

Bağlantılı sorunu okumayı denediniz mi? * "Eğer gerçekten bu davranışı istiyorsan sadece anı yap (yeni Tarih (" tarih içeren rastgele bir dize "))' '*. – jonrsharpe

+0

Sonuç olarak, timeStamp değişkeni bir veritabanında saklanır ve sonra tekrar geri çekilir ve ayrıştırılır?Nihayetinde kurucuyu anladığınız veriyle ilgili bir şeylerin yanlış olduğundan eminim, fakat bunun ne anlama geldiğini bilmiyorum. Bu size iyi olması gereken bir dize olarak bir unix ofset verecektir. Hata ayıklayıcısından tam olarak ne zaman yapıcıya aktarıldığını bilmek gerekir. Sanırım sende önde gelen karakterler ya da başka şeyler var. –

cevap

2

X belirteci saniyede bir unix zaman damgası gösterir ve x simgesi, bir unix milisaniyelik bir zaman damgası (ofset) gösterir. Bir milisaniye zaman damgası var görünüyor, bu nedenle aşağıdakileri yaparak bunun dışında bir an yapacak: O da 'olmadan çalışır

var a = moment('1458586740000', 'x') 

:

var a = moment(1458586740000, 'x') 

Ayrıca belirleyemezsiniz x ve çalışması gerekir: Eğer Çünkü

moment(1458586740000) 

unix (milisaniye), bir unix zaman (saniye) ofset moment.unix istediğini değil. , http://momentjs.com/docs/#/displaying/format/

sen sunulan kod dayanarak:

Sonra aşağıdakileri yapabilirsiniz:

a.format() 
"2016-03-21T13:59:00-05:00" 

Ya da istediğiniz sonucu ne olursa olsun çıkışa burada listelenen diğer biçimlendirme jeton herhangi birini kullanabilirsiniz Sorunlarınız olabilir çünkü zaman damganız bir dizge olarak saklanır ('' içinde). Dize olarak ayrıştırma, geçersiz bir tarih hatasına neden olur, çünkü ISO 8601 biçimiyle eşleşmeye çalışır ve başarısız olur. 'X' belirtecini belirtmek, unix ofsetini almasına ve düzgün çalışmasına neden olur.

+0

teşekkürler - ama işe yaramadı ve evet - Bu yaklaşımı daha önce denedim. Yani, evet, bu konuda temsili bir dizim var: Güncellenmiş orijinal gönderiye bakın. Ben bunu nasıl "sakladım", belki de onu nasıl çıkarmam gerektiğine dair fikir verebilir. –

İlgili konular