2011-01-10 18 views
20

Tarih biçimi C# DD-MM-YYYY biçimine nasıl dönüştürülür? Ben sadece DD-MM-YYYY formatı için başka bir şey arıyorum.Tarih biçimini DD-AA-YYYY olarak dönüştürmek için C#

+0

Dizgiyi başka bir dizeye mi dönüştürüyorsunuz? DateTime 'DD-MM-YYYY' biçimiyle bir dize olarak biçimlendirmek ister misiniz? Hangi dil: VB, C#, başka bir şey? Lütfen daha fazla bilgi verin. – matt

+0

ToString ("dd-MM-yyyy") biçimlendirmesinin büyük/küçük harfe duyarlı olduğunu unutmayın. Eğer küçük harf M'yi kullanırsanız, ay elde edemezsiniz, saymaya çok fazla zaman geldi. – DOK

cevap

7
string formattedDate = yourDate.ToString("dd-MM-yyyy"); 
+0

Hızlı yanıt için çok teşekkürler ama çalışmıyor ... 'string' 'System.FormatProvider' hata alıyorum Ben – saurav2109

42
string formatted = date.ToString("dd-MM-yyyy"); 

yapacağız. Farklı biçimler için iyi bir başvuru kaynağıdır. İlk Google arama hit birine göre

+0

alıyorum Ben hızlı yanıt için teşekkürler, ama onun çalışma değil.Belki hatası alıyorum ... dönüştürme 'string' den 'System.FormatProvider'a' – saurav2109

+0

Nasıl diyorsunuz? Tam olarak yazdıklarımı yapmak işe yarayacak. Daha fazla bilgi için MSDN'e bakın http://msdn.microsoft.com/en-US/library/zdtaw1bw%28v=VS.100%29.aspx – alexn

+0

Kullanmakta olduğumdan sonra aşağıdaki sorgudan Başlangıç ​​Tarihi ve Bitiş tarihi seçiyorum Seçilen tüm değer için döngü için ... Lütfen aşağıya bir göz atın. hrms_job = hrms_job.Append ("SELECT [İş Kodu], [İş İsmi], [Başlangıç ​​Tarihi], [Bitiş Tarihi] FROM [hrms_job $]"); – saurav2109

4
DateTime dt = DateTime.Now; 

String.Format("{0:dd-MM-yyyy}", dt); 
+0

Cevabınız için çok teşekkürler, ancak bu çalışmıyor, dize .format bize DD-MM-YYYY biçimini vermeyecek, bu bana DD/MM/YYYY biçiminde – saurav2109

+1

biçim verecektir. Çıktı 10-01-2011 – evilone

0

Eğer tarih değişkeni String veya tarih türü olarak depolanan var mı?

Hangi durumda size

DateTime myDate = null;

DateTime.TryParse(myString,myDate); 

veya

böyle bir şey yapmak gerekecektir
Convert.ToDateTime(myString); 

Daha sonra ToString ("dd-AA-yyyy") arayabilirler senin date variable

2

İlk ipinizi DateTime değişkenine dönüştürün:

DateTime date = DateTime.Parse(your variable); 

Ardından doğru biçimde dizeye geri bu değişkeni dönüştürmek:

String dateInString = date.ToString("dd-MM-yyyy"); 
+0

hrms_job = hrms_job.Append ("SELECT [İş Kodu], [İş Adı], [Başlangıç ​​Tarihi], [Bitiş Tarihi] FROM [hrms_job $]"); (int iRowCount = 0; iRowCount saurav2109

+0

Aşağıda, kodumu, sizi tekrar rahatsız ettiğim için üzgünüm, ancak tam olarak ne istediğimi tekrarlamıyorum..Bu önerinizden sonra DD-02 alıyorum -YYYY, aylık değer alıyorum ama hepsi değil. Lütfen – saurav2109

+0

Thhanks'a çok yardımcı olun Herkes ... Çözümü aldım .. DD-MM-YYYY yapıyordum ama aslında dd-MM-yyyy bu büyük/küçük harf duyarlıdır. Tüm güzel desteğiniz için herkese çok teşekkür ederiz – saurav2109

2
DateTime s1 = System.Convert.ToDateTime(textbox.Trim()); 
     DateTime date = (s1); 
     String frmdt = date.ToString("dd-MM-yyyy"); 

İşte

9

En basit yöntemi olduğunu çalışacaktır.

Bu dize değeri şudur: "2012/05/13"

DateTime _date; 
string day = ""; 

_date = DateTime.Parse("5/13/2012"); 
day = _date.ToString("dd-MMM-yyyy"); 

O çıktısı olarak: Aynı sorunu koştum 13-Mayıs-2012

+0

Doğru da –

0

. Yapmam gereken şey, sınıfın en üstünde bir referans eklemek ve şu anda yürütmekte olan iş parçacığının CultureInfo değerini değiştirmek. = Birleşik Devletleri "fr-FR" = Fransızca konuşan Fransa "fr-CA" = Fransız- "en-US":

using System.Threading; 

string cultureName = "fr-CA"; 
Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName); 

DateTime theDate = new DateTime(2015, 11, 06); 
theDate.ToString("g"); 
Console.WriteLine(theDate); 

yapmanız gereken tek şey, örneğin kültür adını değiştirmek olduğunu konuşan Kanada vs ...

0

sorun, bir dize dönüştürmek için çalışıyoruz bu yüzden ilk bugüne kadar Değişkeninizi kullanması gereklidir ve bundan sonra
string date = variableConvertedToDate.ToString("dd-MM-yyyy")
veya
string date = variableConvertedToDate.ToShortDateString() gibi bir şey de aynen geçerlidir i Bu durumda sonuç dd/MM/yyyy.İşte

1

biz gitmek:

DateTime time = DateTime.Now; 
Console.WriteLine(time.Day + "-" + time.Month + "-" + time.Year); 

İŞLERİ! :)

-1
var dateTimeString = "21‎-‎10‎-‎2014‎ ‎15‎:‎40‎:‎30"; 
dateTimeString = Regex.Replace(dateTimeString, @"[^\u0000-\u007F]", string.Empty); 

var inputFormat = "dd-MM-yyyy HH:mm:ss"; 
var outputFormat = "yyyy-MM-dd HH:mm:ss"; 
var dateTime = DateTime.ParseExact(dateTimeString, inputFormat, CultureInfo.InvariantCulture); 
var output = dateTime.ToString(outputFormat); 

Console.WriteLine(output); 

Bunu deneyin, benim için çalışır. itibaren C# 6.0 itibaren

0

(Visual Studio 2015 ve daha yeni), sadece biçimlendirme ile bir interpolated dizesi kullanabilirsiniz:

var date = new DateTime(2017, 8, 3); 
var formattedDate = $"{date:dd-MM-yyyy}"; 
0

dönüş inObj == DBNull.Value? "": (Convert.ToDateTime (inObj)) ToString ("MM/gg/yyyy") ToString();

-1
DateTime dt = DateTime.Now; 

String.Format("{0:dd-MM-yyyy}", dt); 
İlgili konular