在我的一個應用程序中,我從服務器接收date
作爲string
。檢測/解析00:00:00(不含日期)到日期時間
例子:
2014-04-04 00:00:00
2013-05-07 13:00:36
2014-05-03
2014-02-01-07:00:00 '(obviously not a valid datetimeformat but thats been handled further inside the code)
00:00:00 'The null-date (meaning NULL is the value inside the database)
它是讓我頭疼的空日期。因爲如果我嘗試parse
是{00:00:00}
這datetime
我總是得到的today
日期和not the DateTime.Minvalue
代碼示例:
Dim i As DateTime
i = DateTime.Parse(i)
Console.WriteLine(i.ToString("yyyy-MM-dd HH:mmm:ss")) 'Returns 2014-07-14 00:00:00
Console.ReadLine()
我想實現的任何如下結果:
- 使用
no Regex
如何檢測日期組件的存在(或不存在)以檢測空日期 - 如何才能我將我的
null-date (00:00:00)
投射到解析輸出爲DateTime.MinValue
或nothing
的日期時間。
我知道解決方案可能很簡單,但我只是不斷想念它。我將非常感謝有關此問題的任何解決方案或建議。
注:該軟件是很舊的和仍在.Net 2.0
注運行:有效的DateTime 可能含有「00:00:00」,所以String.Contains
是出了問題。
爲什麼不只是使用平等?檢查字符串*是否等於*「00:00:00」,並以不同的方式處理。 –
這個解決方案非常簡單。爲什麼我沒有想過這個?除了你提供的解決方案(順便說一下,這是非常好的)是否有(可以)任何可能將它投射到datetime.minvalue? – User999999
Jon Skeet說的是什麼,但是通過使用'Trim'函數在比較之前去掉字符串周圍的空白。 PS:至於將其轉換爲DateTime.MinValue,只需指定您想要的值,如「如果修剪(MyString)=」00:00:00「然後MyDate = DateTime.MinValue」 – Jens