2015-12-30 29 views
0

我正在用C#中的日期進行實驗。我寫了一個控制檯應用程序,其主要方法如下:DateTime DayOfWeek在遠期未來幾年的日期不正確

static void Main(string[] args) 
{ 
    while (true) 
    { 
     Console.WriteLine(DateTime.Parse(Console.ReadLine()).DayOfWeek); 
    } 
} 

現在這個工作在附近日期(我不認爲我在附近美其名曰/遙遠的正確)未來和過去一樣日期在2016年,2017年,1996年等,但不適用於2999,3000等日期。

這是什麼原因?我不認爲這是因爲閏年,因爲2019年工作良好。

而不是用於Y ňķ任我想是因爲我寫了整整一年:

15/01/3000 

工作輸入

31/12/2015 
05/05/2019 

投入沒有產生正確的結果

15/01/2099 
17/07/3000 

解析很好。它不會產生正確的輸出。就像它應該在星期五返回一樣,它將返回星期六等。

+1

你怎麼準確地輸入那些年份?你能否顯示工作輸入,但不能正常工作? –

+0

@SonerGönül請參閱編輯。 –

+0

這是無效datye – mybirthname

回答

0

UTC UTC日期將在1-19-2038之後出錯。 UTC Date Glitch 2038

+0

你能在01-01-1901之前回去嗎? –

+0

是的。嘗試1856年2月1日。輸出確定。 –

+0

這些輸入不會產生'Utc'作爲'Kind'。對不起,但這是無關緊要的。 –