我正在尝试将字符串转换为日期时间
我一直在使用
DateTime convertedDate = DateTime.Parse(lastModificationDate);
转换日期
我的问题是,有时日期将采用英国格式,有时采用美国格式
即英国11/09/2011 10:34
美国2/28/2010 13:56
当我不确定字符串的格式,即我们或英国时,如何处理这两种格式?
答案 0 :(得分:17)
你根本不可能。您没有足够的数据。作为人,这里涉及哪个日期?
11/09/2011 10:34
是9月11日还是11月9日?
如果您无法区分 human ,那么计算机就不可能这样做。
现在,如果您可以从同一数据源中的其他地方获取信号,那么这是一个开始 - 例如,您可以启发式尝试将所有日期解析为美国格式,并将所有日期解析为英国格式,如果为100 %传递为英国格式,但60%以美国格式失败(由于试图将天数解析为无效月份),那么您可以合理地假设它们是英国约会。
但这永远不会是一个完整的解决方案 - 因为你可以拥有一个数据源,其中包含两个格式的 all 有效(但含义不同)的日期。
答案 1 :(得分:1)
出于这个原因,您应该以标准格式(通常是UTC)将日期时间存储在数据库中。
然后,您可以使用javascript等解析来自UTC的用户本地日期时间。