在我的某个应用程序中,我正在从服务器收到date
string
。
的示例:
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
。我知道解决方案可能很简单,但我一直都错过了。我非常感谢有关此问题的任何解决方案或建议。
注意:该软件很老,仍在String.Contains
下运行
注意:有效的日期时间可能包含“00:00:00”,因此无法{{1}} {{1}}。
答案 0 :(得分:2)
您可以设置NoCurrentDateDefault
,就像DateTime.Parse
建议的帮助一样; - )
i = DateTime.Parse("00:00:00", Nothing, Globalization.DateTimeStyles.NoCurrentDateDefault)
MSDN:http://msdn.microsoft.com/en-us/library/system.datetime.parse%28v=vs.110%29.aspx
要解析的字符串可以采用以下任何一种形式:
...
包含时间但没有日期组件的字符串。该方法假定当前日期,除非您调用Parse(String,IFormatProvider,DateTimeStyles)重载并在styles参数中包含DateTimeStyles.NoCurrentDateDefault,在这种情况下该方法假定为0001年1月1日。