我试图将字符串转换为datetime字符串转换为DateTime在C#英国和美国的格式
我一直在使用
DateTime convertedDate = DateTime.Parse(lastModificationDate);
的日期
我的问题是转换,有时日期将采用英国格式,有时采用美国格式
即英国11/09/2011 10:34
美国2/28/2010 13:56
当我不确定字符串将使用哪种格式时,如何处理这两种格式,即我们还是英国?
我试图将字符串转换为datetime字符串转换为DateTime在C#英国和美国的格式
我一直在使用
DateTime convertedDate = DateTime.Parse(lastModificationDate);
的日期
我的问题是转换,有时日期将采用英国格式,有时采用美国格式
即英国11/09/2011 10:34
美国2/28/2010 13:56
当我不确定字符串将使用哪种格式时,如何处理这两种格式,即我们还是英国?
你从根本上不行。你没有足够的数据。作为人类,这里涉及哪个日期?
11/09/2011 10:34
是9月11日还是11月9日?
如果您不能区分为人类,那么计算机就没有机会这样做。
现在,如果您可以从同一个数据源中的其他地方获得信号,那么这就是一个开始 - 例如,您可以试探性地尝试将所有日期解析为美国格式,并将所有日期解析为英国格式,英国格式100%通过,但美国格式60%失败(由于试图将日期解析为无效月份),那么您可以合理地认为它们是英国的日期。
虽然这不会是一个完整的解决方案 - 因为你可以有一个数据源和一组日期,其中的所有两种格式都有效(但含义不同)。
+ 1为长篇小说和简单的剪辑。 – Adil
好的,谢谢你的帮助 – simon1230756
由于这个原因,您应该将标准格式(通常是UTC)中的日期时间存储在数据库中。
然后你就可以使用JavaScript等
UTC不是格式,它是一个时区(有效)。此外,没有迹象表明这里安装了数据库。如果值*被存储在数据库中,则不应该以字符串格式存储。 –
,如果没有它是否是美国和英国,因为你可以有2个不同的含义相同的字符串一些迹象是不可能的解析,从UTC用户的本地日期时间。您的日期没有UTC版本吗? –
@JustinHarvey:“UTC版”是什么意思? UTC不是格式。这两个值都可以采用UTC格式,格式不同。 –