Vb.net 灵活的数据解析

Vb.net 灵活的数据解析,vb.net,parsing,date,Vb.net,Parsing,Date,我的一个字段可以包含很多不同的日期格式。我试图解析它,但有时它根本不理解格式,返回1900-01-01。 有时,它会颠倒月份、天数和年份:2023-12-11,而不是2012-11-23 该字段包含在由某种扫描仪生成的总共1500-2500个excel文件中。日期和时间在不同的情况下 到目前为止,我已经看到了不同的格式,例如: yyyy-mm-dd或mm/dd/yy以及其他一些文件(我找不到这些文件,因为我不想花一天的时间去查看随机的excel文件,希望找到不同的格式^^^’) 所以。。。我试着

我的一个字段可以包含很多不同的日期格式。我试图解析它,但有时它根本不理解格式,返回1900-01-01。 有时,它会颠倒月份、天数和年份:2023-12-11,而不是2012-11-23

该字段包含在由某种扫描仪生成的总共1500-2500个excel文件中。日期和时间在不同的情况下

到目前为止,我已经看到了不同的格式,例如: yyyy-mm-dd或mm/dd/yy以及其他一些文件(我找不到这些文件,因为我不想花一天的时间去查看随机的excel文件,希望找到不同的格式^^^’)

所以。。。我试着在手边解析它(不同字段的子字符串),但它仍然有bug,所以:

有没有适合VB的日期解析工具可以经常使用?


我想象有一个库或什么东西可以解析几乎任何已经编码的格式的日期,如果我可以避免重新编码,我会非常高兴:)

不,当然没有任何东西可以解析任何(未知)格式的日期。它应该如何知道如何处理
9/10/11
?那可以是任何东西


因此,您可以使用或(您甚至可以传递一个
字符串[]
,用于多种允许的格式)并传递正确的
CultureInfo

不,当然没有任何东西可以解析任何(未知)格式的日期。它应该如何知道如何处理
9/10/11
?那可以是任何东西


因此,您可以使用或(您甚至可以传递一个
字符串[]
,用于多种允许的格式)并传递正确的
CultureInfo

你为什么要求高效率?我会要求任何适用于所有未知格式的内容。
DateTime.ParseExact
允许您指定输入字符串的确切格式。不过,您仍然需要能够确定正确的格式字符串来提供它。我不是要求每次都能使用的东西。。。我的意思是经常工作的高效。你为什么要求高效?我会要求任何适用于所有未知格式的内容。
DateTime.ParseExact
允许您指定输入字符串的确切格式。不过,您仍然需要能够确定正确的格式字符串来提供它。我不是要求每次都能使用的东西。。。我的意思是经常使用高效,我已经在用了。我所要求的不是总是有效的东西,只是经常有效的东西。。。如果这还不存在,它应该存在!因为日期有很多约定,所以日期格式通常保持在一定的顺序内。至于10/10/10,通常是月日,年号?2012-01-01是yyyy-mm-dd而不是yyyy-dd-mm,这只是惯例,正如我所要求的,一个库在解析时只会尝试从更合理到更少的每种格式…@LudovicMigneault像01/10/10这样的单独日期是不明确的,并且可能导致坏数据。公约是为你而设的,而对其他国家的人来说则不一样。然而,在使用谨慎假设的同时,如果您能够保留扫描源并合理确定组内的日期格式相同,对于足够大的扫描组,您可能能够根据同一字段中的其他日期(如2015年10月19日或2015年10月19日)确定格式。这真的不是唯一的问题!我同意它应该而且可能确实存在——如果你发现了,请告诉我。我在3年前的第一次实习时发布了这个问题^^“我不再做VB了,但是日期解析总是带来同样的问题。为了回答我的问题,我只想说“不,没有shuch a pluggin”。因为没有什么“官方”会像我们在没有足够信息的情况下解析日期那样留下很大的误差。我的建议是要么将日期转换为时间戳(解析int时不会出现解析错误),要么使用自己的格式创建和读取日期;这样你就知道会发生什么,我已经在用了。我所要求的不是总是有效的东西,只是经常有效的东西。。。如果这还不存在,它应该存在!因为日期有很多约定,所以日期格式通常保持在一定的顺序内。至于10/10/10,通常是月日,年号?2012-01-01是yyyy-mm-dd而不是yyyy-dd-mm,这只是惯例,正如我所要求的,一个库在解析时只会尝试从更合理到更少的每种格式…@LudovicMigneault像01/10/10这样的单独日期是不明确的,并且可能导致坏数据。公约是为你而设的,而对其他国家的人来说则不一样。然而,在使用谨慎假设的同时,如果您能够保留扫描源并合理确定组内的日期格式相同,对于足够大的扫描组,您可能能够根据同一字段中的其他日期(如2015年10月19日或2015年10月19日)确定格式。这真的不是唯一的问题!我同意它应该而且可能确实存在——如果你发现了,请告诉我。我在3年前的第一次实习时发布了这个问题^^“我不再做VB了,但是日期解析总是带来同样的问题。为了回答我的问题,我只想说“不,没有shuch a pluggin”。因为没有什么“官方”会像我们在没有足够信息的情况下解析日期那样留下很大的误差。我的建议是要么将日期转换为时间戳(解析int时不会出现解析错误),要么使用自己的格式创建和读取日期;这样你就知道会发生什么。