Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DateTime DayOfWeek对于遥远未来的年份日期不正确_C#_Date_Datetime_Dayofweek - Fatal编程技术网

C# DateTime DayOfWeek对于遥远未来的年份日期不正确

C# DateTime DayOfWeek对于遥远未来的年份日期不正确,c#,date,datetime,dayofweek,C#,Date,Datetime,Dayofweek,我在用C#做实验。我编写了一个控制台应用程序,其主要方法如下: static void Main(string[] args) { while (true) { Console.WriteLine(DateTime.Parse(Console.ReadLine()).DayOfWeek); } } 现在,这适用于近期(我不认为我正确地称之为近/远)和过去的日期,如2016年、2017年、1996年等,但不适用于29993000年等 这是什么原因?我不认为

我在用C#做实验。我编写了一个控制台应用程序,其主要方法如下:

static void Main(string[] args)
{
    while (true)
    {
        Console.WriteLine(DateTime.Parse(Console.ReadLine()).DayOfWeek);
    }
}
现在,这适用于近期(我不认为我正确地称之为近/远)和过去的日期,如2016年、2017年、1996年等,但不适用于29993000年等

这是什么原因?我不认为这是因为闰年,因为2019年也很好

我想也不是为了YNK,因为我写了一整年:

15/01/3000
工作输入

31/12/2015
05/05/2019
15/01/2099
17/07/3000
输入未产生正确结果

31/12/2015
05/05/2019
15/01/2099
17/07/3000

解析很好。它没有产生正确的输出。例如,它应该在星期五返回,星期六返回,等等。

UTC日期在2038年1月19日之后将是错误的

你是如何准确地进入这些年的?你能显示工作输入但不显示工作输入吗?@SonerGönül请查看编辑。这是无效的日期
15/01/3000
不可解析(对于我当前的文化),同样
15/01/2000
不可解析。但是,
01/15/3000
工作正常。如果您使用
en GB
区域性,则
15/01/3000
有效。顺便问一下,您的
CurrentCulture
是什么?您能在1901年1月1日之前返回吗?是的。1856年2月1日审判。输出正常。这些输入不会产生
Utc
作为
Kind
。很抱歉,这与此无关。那么必须是上面讨论的区域性设置。向下投票。.NET的
DateTime
在2038年没有溢出。您将其与完全无关的日期表示混淆。在.NET中,我们使用一个64位整数来计算自0001年1月1日起每秒1/10000000部分的数量,2038年没有溢出。您所想到的表示法(与asker描述的场景无关)使用符号32位整数计算自1970年1月1日以来的整秒数。