今天我遇到了一个非常奇怪的问题。
尝试执行此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
}
}
当然,你今天会遇到问题。我添加了最后两个命令,让您知道问题所在。 明天和整个三月份,DateTime.Parse将抛出一个FormatException(String未被识别为有效的DateTime。)
为什么?
答案 0 :(得分:2)
我会说你发现了一个错误。这应该有效:
//
var spanish = CultureInfo.GetCultureInfo("es");
var date = DateTime.Parse(DateTime.Now.ToString("R", spanish), spanish);
或意大利人仍然会抛出......
var italian = CultureInfo.GetCultureInfo("it");
var date = DateTime.Parse(DateTime.Now.ToString("R", italian), italian);
答案 1 :(得分:2)