[英]Parse C# string to DateTime
我有一個這樣的字符串:250920111414
我想從該字符串創建一個 DateTime 對象。 截至目前,我使用子字符串並這樣做:
string date = 250920111414;
int year = Convert.ToInt32(date.Substring(4, 4));
int month = Convert.ToInt32(date.Substring(2, 2));
...
DateTime dt = new DateTime(year, month, day ...);
是否可以使用字符串格式,在沒有子字符串的情況下做同樣的事情?
絕對地。 從你的字符串猜測格式,你可以使用ParseExact
string format = "ddMMyyyyHHmm";
DateTime dt = DateTime.ParseExact(value, format, CultureInfo.InvariantCulture);
DateTime dt;
bool success = DateTime.TryParseExact(value, format,
CultureInfo.InvariantCulture, DateTimeStyles.None, out dt);
后一個調用將在解析失敗時簡單地返回false
,而不是拋出異常 - 如果您可能有不應該導致整個任務失敗的錯誤數據(例如,它是用戶輸入,而您只想提示他們),那么這是更好的調用使用。
編輯:有關格式字符串詳細信息的更多詳細信息,請參閱 MSDN 中的“自定義日期和時間格式字符串” 。
你可以使用:
DateTime dt = DateTime.ParseExact(
date,
"ddMMyyyyHHmm",
CultureInfo.InvariantCulture);
string iDate = "05/05/2005";
DateTime oDate = Convert.ToDateTime(iDate);
DateTime oDate = DateTime.ParseExact(iString, "yyyy-MM-dd HH:mm tt",null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.