2009-04-21 14 views
7

C# Convert.ToDateTIme işlevi, "dd/mm/yyyy" veya "mm/dd/yyyy" olarak tarihi okuyor mu?C# Convert.ToDateTIme işlevi, "dd/mm/yyyy" veya "mm/dd/yyyy" olarak tarihi okuyor mu?

Uzaktaki paylaşılan sunucuma yüklediğim yerel makinemde de aynı uygulamaya sahibim. "Dd/mm/yyyy" adlı yerel makinemde mükemmel çalışıyordu, ancak uzak makinemde tarihleri ​​"mm/gg/yyyy" olarak okuyormuş gibi görünüyor. Her ikisinde de "en-GB" aynı kültür ayarına sahibim.

Bu tarih dönüşümünü çok belirsiz bulabilirim. Herkes bir SQL Server 2005 veritabanından tarih dizeleri okuma kültürüne dayanıklı bir şekilde öneriyor musunuz?

+0

@Avinash ayarlamayı deneyebilirsiniz: 500'den fazla temsilcisi olduğunu göz önüne alındığında, düzgün sorular biçimlendirmek için yeterli Markdown nasıl kullanılacağını bilemez beklenebilir. http://stackoverflow.com/editing-help – Cerebrus

+1

Belki de değil. Markdown sayfasında "(Backtick tuşu çoğu klavyenin sol üst köşesindedir.)" Ama Avinash'ın kültürü ABD değil. –

+1

@WindowsProgrammer: Bence çok yanılıyorsunuz. Avinash'ın "kültürü" neredeyse kesinlikle Hintli (benimkiyle aynı) ve ABD Klavye düzeni Hindistan'da norm. Ayrıca, bir kullanıcı, soruları biçimlendirmek için klavyeyi kullanmakla sınırlı değildir, çünkü araç kutusu bunun için bağlantılar sağlar. İnsanları beceriksizliği savunduğunda çok garip buluyorum. – Cerebrus

cevap

3

Neden datetime veri türünü kullanmıyoruz? Ardından, SQL veri okuyucudan kullanın: reader.GetDateTime (int sütun)

Başka bir seçenek:

2

Nasılsın yyyy-AA-gg: ISO biçimi kullanın dizeleri tarihleri ​​geçmek zorunda olmadığını tarihleriniz gerçekte SQL Server'da depolanıyor? datetime olarak depolanmışlarsa, bunları DateTime değerleri olarak okuyabilmeniz ve Convert.ToDateTime() yöntemini kullanmanız gerekmeyecektir. Bize sorguyu ve/veya C# kodunu gösterebilir misiniz?

Düzenleme

Sorunuz sonunda SQL Server söz ile beni attı! Bir TextBox yerine bir DateTimePicker kullanmayı düşündünüz mü? ASP.NET'in tarih seçici denetimleri var, değil mi? Sonra senin için ayrıştırma yapabilirdi.

+0

kullanın. Datetime textbox.In yerel sunucusunda convert.toDatetime ("MM/gg/yyyy") kullanılır ve bu çalışıyor. Ama yüklenen sunucuda çalışmıyor. .. – Avinash

4

Bunun sesleri de ... Sunucudaki ayarlardan biri kapalı.

"Diş bölgesi & Dil" Seçenekleri'nden ince bir diş tarağı ile gidip bir şeyin geçersiz kılmadığından emin olun, ancak başarısız olursa.

Açıkça Kültür Bilgi

  string x = "21/01/2009"; 

     CultureInfo ci = new CultureInfo("en-GB"); 

     Convert.ToDateTime(x, ci); 
İlgili konular