2011-08-15 20 views
9

yyyyMMddHHmmssfff biçiminde bir dize varsa, örneğin 20110815174346225. Bu String’ten bir DateTime nesnesini nasıl oluşturabilirim.DateTime.Parse() bir DateTime nesnesi oluşturmak için nasıl kullanılır

Error 1 The best overloaded method match for 'System.DateTime.Parse(string, System.IFormatProvider)' has some invalid arguments C:\Documents and Settings\rkelly1\Desktop\sd\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 67 29 WindowsFormsApplication1 


Error 2 Argument 2: cannot convert from 'string' to 'System.IFormatProvider' C:\Documents and Settings\rkelly1\Desktop\sd\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 67 53 WindowsFormsApplication1 

cevap

12
var sDate = "20110815174346225"; 
var oDate = DateTime.ParseExact(sDate, "yyyyMMddHHmmssfff", CultureInfo.CurrentCulture); 
+0

Teşekkür Bu biçimi kullanın başardı. IFormatProvider'ı anlamadım, ancak MSDNs sitesinden aldım – Richard

0

Statik yöntem DateTime.ParseExact kullanmalıdır: aşağıdaki

DateTime TimeStamp = DateTime.Parse(Data[1], "yyyyMMddHHmmssfff"); 

Ancak bu hataları olsun çalıştı.

1

Kullanım DateTime.ParseExact:

DateTime dateTime = DateTime.ParseExact("[Your Date Here]", 
             "yyyyMMddHHmmssfff", 
             CultureInfo.InvariantCulture); 

İşte MSDN Docs bu.

4

Sen birinci dizge tarih olacak

DateTime time = DateTime.ParseExact(String,String, IFormatProvider); 

kullanması gerekir. İkinci argüman dize biçim olacak üçüncü argüman IFormatProvider Yani

senin kültür bilgisi (eğer temsil

kültür bilgisi olan
DateTime TimeStamp = DateTime.ParseExact(Data[1],"yyyyMMddHHmmssfff",CultureInfo.InvariantCulture"); 

"Bir Cultureınfo nesnesine kalmamış olacaktır kültür s yorumlamak için kullandı. onun DateTimeFormat özelliği tarafından döndürülen DateTimeFormatInfo nesne s semboller ve biçimlendirmeyi tanımlar." MSDN. burada

fazla bilgi için bağlantı. http://msdn.microsoft.com/en-us/library/kc8s65zs.aspx

0

Ben tarih için bu dönüştürmek için 20151221T031901

olarak biçimlendirilmiş bir tarih vardı, ben

DateTime.ParseExact("20151221T031901","yyyyMMddTHHmmss" , System.Globalization.CultureInfo.CurrentCulture) 
İlgili konular