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

  • Besnik Ibrahimi

    Besnik Ibrah

    27 Mart 2010
  • Disney Pets and Animals

    Disney Pets

    29 ŞUBAT 2012
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006