簡體   English   中英

將 C# 字符串解析為 DateTime

[英]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);

TryParseExact

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM