我總是覺得很難處理日期。他們的文化轉換格式等在這裏和那裏都會造成麻煩 雖然,Convert.ToDateTime,DateTime.Parse和DateTime.TryParse是直接的,最後一個是我最喜歡的,直到我偶然發現我的應用程序的問題,其中日期返回爲字符串和值不一致(有些從Day開始而其他月份)。當日期以'Month'開始時,DateTime.TryParse不起作用。 例如作爲本月第一次出現在字符串DateTime.TryPase(DateString有些以月份開始,其他則以日期開頭)
DateTime.TryParse("09/26/2011 14:45:00", out dtout) ? dtout : (DateTime?)null
而下面的語句將被解析爲預期 下面的語句將返回null,因爲它有「日」出現的第一
DateTime.TryParse("12/03/2012 14:30:00", out dtout) ? dtout : (DateTime?)null
我知道日期字符串操作不會尤其是當沒有人知道字符串是以什麼開頭的時候。有沒有辦法通過應用文化信息或我可以用來在TryParse之前對齊字符串格式?
你怎麼知道日期時間字符串是從哪月開始的?如果兩者都可以成功解析,你會選擇一個隨機日期? –
更好地使用'TryParseExact',因爲它可以讓你指定預期的字符串表示格式。 –
我必須正確解析它們,並且必須以'dd/MM/yyyy'格式顯示 –