【发布时间】:2018-06-26 07:16:21
【问题描述】:
在asp.net Date.Now 生成完整的日期字符串:
例如"2018-01-17T11:12:42.0544453+00:00"
我无法使用以下格式验证此日期字符串。 谁能推荐一个合适的验证格式?
Dim formats() As String = {
"yyyy-MM-dd",
"yyyy-MM-ddTHH:mm:ss",
"yyyy-MM-ddTHH:mm:ss.fff",
"yyyy-mm-ddThh:mm:ss.ffffff",
"yyyy-mm-ddThh:mm:ss.fffffffZ",
"yyyy-mm-ddThh:mm:ss.nnnnnnn",
"yyyy-mm-ddThh:mm:ss.nnnnnnnZ",
"yyyy-mm-ddThh:mm:ss.nnnnnnn+|-hh:mm"
}
If Date.TryParseExact("2018-01-17T11:12:42.0544453+00:00", formats, CultureInfo.InvariantCulture, DateTimeStyles.None, dt) Then
//Success
End If
【问题讨论】:
-
即使
Date.TryParse也会成功,不需要使用ParseExact -
@TimSchmelter 我使用 Parse exact 因为检查了许多不同的字符串,这只是一个失败的例子,我很好奇为什么。
-
如果您正在检查它是否有效,那么
TryParse就足够了。如果您确保它符合给定的格式,您只需要TryParseExact。你真正的目标是什么? -
@TimSchmelter 我想确保日期是有效的 ISO 8601 日期格式。即使省略时间/分数/时区也是如此。
标签: .net vb.net date datetime iso8601