我正在调用TryParse一个我要解析的字符串DateTime.简单的东西.当格式符合我的预期时,一切正常.但是,当日期的每个组件/某些组件都是单个数字时,解析将失败.
例:
var dateFormat = "yyyy-dd-MM hh:mm:ss";
var dateString = "2006-4-1 2:3:5";
DateTime.TryParseExact(dateString, dateFormat,
CultureInfo.InvariantCulture, DateTimeStyles.None, out result)
Run Code Online (Sandbox Code Playgroud)
如果我改变dateString了"2006-04-01 02:03:05",它解析得很好.
我如何告诉解析器解释2为02以上解析成功?
手动填充日期时间的每个部分以确保其符合格式.这样可行,但感觉不是很优雅.这是唯一的方法吗?
我也试过使用一种格式m而不是成功,但没有成功mm.
只是用
// please note single letters (d, M, h, m, s) whenever you allow single digits
var dateFormat = "yyyy-d-M h:m:s";
Run Code Online (Sandbox Code Playgroud)
你会得到它:
var dateString = "2006-4-1 2:3:5";
DateTime.TryParseExact(dateString, dateFormat,
CultureInfo.InvariantCulture, DateTimeStyles.None, out result)
Run Code Online (Sandbox Code Playgroud)