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

  • Boiler Room

    Boiler Room

    10 Mayıs 2012
  • Day9TV

    Day9TV

    22 NİSAN 2010
  • Lupe Fiasco

    Lupe Fiasco

    23 ŞUBAT 2006