SORU
26 EYLÜL 2008, Cuma


Bir Tarih, bir zaman ayrıştırmak için en iyi yolu Javascript ile kullanıcı giriş nesnesi nedir?

Kullanıcılar bir metin girişi (takvim uygulaması) içine günde bir kez girmeniz için bir form widget üzerinde çalışıyorum. JavaScript kullanarak (biz kullanarak bir WordPress kullanmak FWIW) istiyorum en iyi şekilde ayrıştırma metin kullanıcı girer içine bir JavaScript Date() nesne, böylece kolayca gerçekleştirmek karşılaştırmaları ve diğer şeyler.

parse() yöntemi denedim ve biraz da benim ihtiyaçları için çok seçici. Başarıyla Date() aynı nesne olarak aşağıdaki örnek, giriş kat (mantıksal olarak benzer başka bir zaman biçimleri için ek olarak) ayrıştırmak için mümkün olur:

  • 1:00 pm
  • 1:00
  • 1:00 p
  • 1:00pm
  • 1:00.m.
  • 1:00
  • 1 pm
  • 1 saat
  • 1 p
  • 1
  • 1 P.m.
  • 1 P
  • 13:00
  • 13

Düzenli ifadeler, giriş ayrılıp Date() benim nesne oluşturmak için kullanmak istiyorum bilgileri ayıklamak için kullanabilirim diye düşünüyorum. Bunu yapmak için en iyi yolu nedir?

CEVAP
26 EYLÜL 2008, Cuma


Belirttiğiniz giriş çalışır: hızlı bir çözüm

var times = ['1:00 pm','1:00 p.m.','1:00 p','1:00pm',
  '1:00p.m.','1:00p','1 pm','1 p.m.','1 p','1pm','1p.m.', '1p','13:00','13'];

for ( var i = 0; i < times.length; i   ) {
  var d = new Date();
  var time = times[i].match(/(\d )(?::(\d\d))?\s*(p?)/);
  d.setHours( parseInt(time[1])   (time[3] ? 12 : 0) );
  d.setMinutes( parseInt(time[2]) || 0 );
  console.log( d );
}

Birkaç diğer çeşitleri için de (eğer'da kullanılırsa bile, yine de işe yarayacağını örneğin) çalışması gerekir. Açıkçası bu çok ilkel bir yöntem ama aynı zamanda oldukça hafif (tam bir kütüphane daha kullanmak çok daha ucuz, örneğin).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Feel The Electricity!

    Feel The Ele

    20 ŞUBAT 2010
  • Jonathan Flavell

    Jonathan Fla

    1 HAZİRAN 2006
  • William Hyde

    William Hyde

    23 HAZİRAN 2008