我有一些代码想要测试有效时间,出于某种原因,它适用于 PM 的日期,但不适用于 AM。
所以我采用与这种格式相对应的格式:
2018/6/1 下午 12:00:00
然而,出于某种原因,当它是 PM 时,这很好用,但是当我用 AM 替换它时,它就坏了。我接受它命中的可接受格式的格式是:
M/d/yyyy HH:mm:ss tt
下面没有说它是假的:
DateTimeOffset dateTimeResult;
var acceptableFormats = new string[] {
"yyyy-MM-dd'T'HH:mm:ss.FFFK",
"M/d/yyyy HH:mm:ss",
"MM/dd/yyyy HH:mm:ss",
"M/d/yyyy HH:mm:ss tt",
"MM/dd/yyyy HH:mm:ss tt",
"yyyy-MM-dd' 'HH:mm:ss.FFFK",
"yyyy-MM-dd'T'HH:mm:ssK",
"yyyy-MM-dd' 'HH:mm:ssK",
"yyyy-MM-dd'T'HH:mm:ss",
"yyyy-MM-dd' 'HH:mm:ss",
"yyyy-MM-dd'T'HH:mm",
"yyyy-MM-dd' 'HH:mm",
"yyyy-MM-dd'T'HH",
"yyyy-MM-dd' 'HH",
"yyyy-MM-dd",
"yyyy-MM-dd",
"yyyyMMdd",
"MM/dd/yyyy",
"M/d/yyyy",
"yyyy-MM",
"yyyy" };
DateTimeOffset dateTimeResult;
var timeOffset = DateTimeOffset.TryParseExact("6/1/2018 12:00:00 AM", acceptableFormats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeResult);
Run Code Online (Sandbox Code Playgroud)
这个作品说的是真的:
DateTimeOffset dateTimeResult;
var acceptableFormats = new string[] { …Run Code Online (Sandbox Code Playgroud)