2010-09-21 18 views
19

1.9.2p0 ile, Tarih # ayrıştırması bir UE biçimini aldığını varsayar. Bana inanmıyorsanız format.rb, satır: 1042'ye bakın. NeyseTarih Yap # ayrıştırması ABD biçiminde bir AB biçimi yerine

, ben, bir ABD formatını farz hale nasıl ki: Yerine 10 Nisan arasında

> Date.parse("10/4/2010") 
=> Mon, 04 Oct 2010 

.

Bu denedim:

class Date 
    def _parse_eu(str,e) 
    _parse_us(str,e) 
    end 
end 

ama şans yok. Başka fikirlerin var mı?

+0

Sadece 1.9.2 en Ruby 1.8.7 en format.rb karşılaştırmış ve _parse_eu için her ikisi de testi() _parse_us önce(). –

+0

Yea, daha fazla kazma ve "10/2/2010" gibi bir formatı yakalayan bu yöntemlerden hiçbiri değil - Bir şey, _parse_ddd'de olduğu gibi, tam olarak anlamadığım başka bir şeyde de değişti. – jsharpe

+0

desteklenmeyen bir daire gibi görünüyor: – jsharpe

cevap

27

Date.strptime ne istiyorsun ama ne yazık ki belgelerin tarih biçimlendirme dizeleri olduğu gibi görünmüyor. Ben aşağıdaki biçim dizeleri Googling dayalı çalışır lazım:

1.9.2 > d = Date.strptime("10/4/2010", "%m/%d/%Y") 
=> #<Date: 2010-10-04 (4910947/2,0,2299161)> 
1.9.2 > d.day 
=> 4 
1.9.2 > d = Date.strptime("10/4/2010", "%d/%m/%Y") 
=> #<Date: 2010-04-10 (4910593/2,0,2299161)> 
1.9.2 > d.day 
=> 10 
+0

Tarih formatlama direktifleri strftime' tarafından kullanılanlar: http: // www .ruby-doc.org/stdlib-2.1.2/libdoc/date/rdoc/Date.html # method-i-strftime – Aupajo

+0

Yanıtınızda verdiğiniz bağlantı artık geçerli değil gibi görünüyor, başka bir tane var: http: // ruby-doc.org/stdlib-1.8.7/libdoc/date/rdoc/Date.html#method-c-strptime – Tass

+0

Güncel dokümana bağlantı güncellendi. – Jason

2

Bunun yerine strptime adresini ziyaret etmek isteyebilirsiniz.