使用 DateTime.TryParseExact C#
Using DateTime.TryParseExact C#
我不知道 TryParseExact 方法在示例日期格式中的工作原理:
这是格式:(开始:2019.06.30.14:56:43)
以及如何告诉 TryParseExact 这种格式?
根据 中几个答案的混合,我建议您使用正则表达式去除所有非数字,然后解析剩下的内容:
var fromStr="Beginning: 2019.06.30. 14:56:43";
//strip non numerics
fromStr = Regex.Replace(fromStr, @"[^0-9]", "");
//now our dates of [2019. 09. 23. 14:54:23], [2019.09.23 14:54:23] or [2019-09-23 14:54:23]
//just become 20190923145423
if(DateTime.TryParseExact(fromStr, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, null, out var fromDt)
//code if success
else
//code if fail
文档和示例是 here
我提倡稍微清理一下你的数据,因为你以前建议你的约会时间可能会以各种古怪而美妙的格式出现,并在周围随机显示文本
我在这里添加了另一个答案,因为在其他答案中没有特别提到 TryParseExact,但它的 existence/use 可能是隐含的 - 这个问题是具体的并且与那些足以保证直接回答恕我直言的问题不同但如果作为 "SO life" 的一部分,当你问一个问题导致另一个问题时,你在后一个问题中提到前一个问题,这会很好——它为那些回答当前问题的人提供了一些有用的背景信息问题,并允许您清楚地定义新问题与前一个问题的不同之处,如果您认为它是
我还要重申我之前的建议,即您确实应该将这些 DateTime 存储为 DateTime,而不是各种格式的字符串。如果你正在解析日志输出那么它是可以理解的,但是我试着在进入数据库的路上而不是在离开的路上得到它
我不知道 TryParseExact 方法在示例日期格式中的工作原理: 这是格式:(开始:2019.06.30.14:56:43) 以及如何告诉 TryParseExact 这种格式?
根据
var fromStr="Beginning: 2019.06.30. 14:56:43";
//strip non numerics
fromStr = Regex.Replace(fromStr, @"[^0-9]", "");
//now our dates of [2019. 09. 23. 14:54:23], [2019.09.23 14:54:23] or [2019-09-23 14:54:23]
//just become 20190923145423
if(DateTime.TryParseExact(fromStr, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, null, out var fromDt)
//code if success
else
//code if fail
文档和示例是 here
我提倡稍微清理一下你的数据,因为你以前建议你的约会时间可能会以各种古怪而美妙的格式出现,并在周围随机显示文本
我在这里添加了另一个答案,因为在其他答案中没有特别提到 TryParseExact,但它的 existence/use 可能是隐含的 - 这个问题是具体的并且与那些足以保证直接回答恕我直言的问题不同但如果作为 "SO life" 的一部分,当你问一个问题导致另一个问题时,你在后一个问题中提到前一个问题,这会很好——它为那些回答当前问题的人提供了一些有用的背景信息问题,并允许您清楚地定义新问题与前一个问题的不同之处,如果您认为它是
我还要重申我之前的建议,即您确实应该将这些 DateTime 存储为 DateTime,而不是各种格式的字符串。如果你正在解析日志输出那么它是可以理解的,但是我试着在进入数据库的路上而不是在离开的路上得到它