Pao*_*chi 7 c# datetime parsing
今天我遇到了一个非常奇怪的问题.
尝试执行此C#代码:
class Program
{
static void Main(string[] args)
{
string yesterdayString = (DateTime.Now - TimeSpan.FromDays(1)).ToString("R");
string nowString = DateTime.Now.ToString("R");
DateTime.Parse(yesterdayString);
DateTime.Parse(nowString);
DateTime.Parse("Wed, 29 Feb 2012 18:05:49 GMT"); // this is what i have in yesterdayString
DateTime.Parse("Thu, 01 Mar 2012 18:05:40 GMT"); // this is what i have in nowString
}
}
Run Code Online (Sandbox Code Playgroud)
当然,你今天就会遇到问题.我添加了最后两个命令,让您知道问题所在.明天和整个三月份,DateTime.Parse将抛出一个FormatException(String未被识别为有效的DateTime.)
为什么?
我想说你发现了一个错误。这应该有效:
//
var spanish = CultureInfo.GetCultureInfo("es");
var date = DateTime.Parse(DateTime.Now.ToString("R", spanish), spanish);
Run Code Online (Sandbox Code Playgroud)
或者对于意大利语它仍然抛出......
var italian = CultureInfo.GetCultureInfo("it");
var date = DateTime.Parse(DateTime.Now.ToString("R", italian), italian);
Run Code Online (Sandbox Code Playgroud)