我正在编写一个数据分析器,试图找出一个字段是数字、日期、字符串等。
我的.NET DateTime.TryParse
当检查许多记录时,速度慢是可以理解的(因为它检查许多不同的日期格式)。因此,如果可能的话,我想缩短处理时间。最初我可以做的一个简单的检查是查看字符串的长度,如果它超出了一些界限,就拒绝它。
我认为最短的日期应该是6个字符长(例如dMyy),所以我可以做以下检查。
if (fieldValue.Length < 6)
{
// no datetime is shorter than 6 chars (e.g. d/M/yy is the shotest I can think of)
return false;
}
什么是仍然代表可解析的DateTime的最长字符串?
(例如,"星期三,2020年9月30日 12:34:56 "是相当长的,但我敢打赌,还有更长的例子!)
有几点。
什么是仍然代表可解析的DateTime的最长字符串?
请看一下列表中的 自定义DateTime的格式指定器,并把这些都考虑进去。
例如,这。
DateTime dt = DateTime.Now;
string strNow = dt.ToString("dddd, MMMM dd, yyyy gg hh:mm:ss.fffffff tt K");
Console.WriteLine(strNow);
给出。
Tuesday, June 16, 2020 A.D. 08:47:02.2667911 AM -06:00
但是根据DateTime中的信息,这些不同类型的值可以有不同的输出。 仔细观察文档中每个指定符的所有不同可能的输出,就会明白我的意思。