2009-01-20 34 views
20

Ben bu fonksiyon ...Baştaki Sıfır Tarih Biçimi C#

private string dateConvert(string datDate) 
{ 
     System.Globalization.CultureInfo cultEnGb = new System.Globalization.CultureInfo("en-GB"); 
     System.Globalization.CultureInfo cultEnUs = new System.Globalization.CultureInfo("en-US"); 

     DateTime dtGb = Convert.ToDateTime(datDate, cultEnGb.DateTimeFormat); 
     datDate = dtGb.ToString(cultEnUs.DateTimeFormat.ShortDatePattern); 

     return datDate; 
} 

Ama alt basamağı hala lider sıfır (1-9) ile istediğiniz böylece tarih 11-09-2009 olduğunu (mm -dd-yyyy) ...

Şimdi dönüştürmeyi değiştirmezdim, id. string.Format ("{0: d}", dateVar), bunu dönüştürme işleminde nasıl yaparım?

***** Çözüm *****

(kılacak yani biri) altında cevabın biraz değiştirilmiş bir sürümü kullanılır.

Convert.ToDateTime(datDate).ToString("MM-dd-yyyy"); 
+1

yani

, size geri kullanıcıya sunmak için gereken kadar tarih değeri olarak tutarak sonra bu ayrıştırma ve bir sebebi var mı? –

+1

Kullandığımız 3. taraf uygulamaların gereksinimlerini karşılayan bir derin bağlantı üretmek. Bu, iş ortaklarının bağlantı kurmasını kolaylaştırmak için daha büyük bir komut dosyasının parçasıdır. İngilizce Şirket, Hint Geliştiricileri, ABD Tarih Biçimi. Git Şekil. –

cevap

42
return dateTimeValue.ToString("MM-dd-yyyy"); 
+2

Anlaşmalı - http://msdn.microsoft.com/en-us/library/system.datetime.toshortdatestring(VS.85).aspx EN-US'ın ShortDatePattern'i "M/d/yyyy" olacak önde gelen sıfırlar ve ayırıcı olarak "/" kullanılmaz "-". –

+0

@Zhaph: tarih URL'ye yeniden gönderilir ve iletilir, böylece ayırma gereklidir. –

+1

Bu, (tam olarak) amacım için çalışmadı, ancak ... Convert.ToDateTime (datDate) .ToString ("MM-dd-yyyy"); bir işlem yaptı. –

2

Eğer dönüşüm yaptıktan sonra string.Format kullanamaz mıyız? saçma bir soru sormak için return string.Format("{0:d}", datDate);

+0

Teşekkürler Ne Guessed ama 20-03-2009 giren 3-20-2009 –

+0

Evet, ne düşündüğümü bilmiyorum, Mehrdad'ın cevap çalışması gereken cevaptır –