[英]DateTime shows the date as 01/01/0001
對不起,如果這似乎是一個愚蠢的問題,但我無法在任何地方找到答案,我有點新手。 DateTime顯示為我猜測的最小日期。 例如:
DateTime updatedDate = new DateTime();
outItem.AddDate = updatedDate.ToLongDateString();
輸出到0001年1月1日。我嘗試了很多變化,結果相似。 我究竟做錯了什么?
這取決於你所說的“錯誤”。 new DateTime()
確實具有與DateTime.MinValue
相同的值。 如果你想要當前時間,你應該使用:
DateTime updatedDate = DateTime.Now;
要么
DateTime updatedDate = DateTime.UtcNow;
(第一個給你當地時間 ,第二個給你通用時間。當涉及到本地/普遍鴻溝時, DateTime
有些混亂 。)
如果您要獲取當前日期,請使用DateTime.Now
。 您正在創建日期類的新實例,最小值是其默認值。
DateTime updatedDate = DateTime.Now;
outItem.AddDate = updatedDate.ToLongDateString();
編輯:實際上,您只需執行以下操作即可縮短代碼:
outItem.AddDate = DateTime.Now.ToLongDateString();
Jon Skeet說的正確,我還有一些要補充。
“錯誤”取決於你想要的時間。
DateTime是一個struct ,是struct的默認構造函數
始終將所有字段初始化為數字類型的零並且為null
作為參考類型。
因此,如果要獲取當前的本地日期和時間,可以調用靜態屬性DateTime.Now。
var curDateTime = DateTime.Now;
如果你想獲得UTC時間。
var utcDateTime = DateTime.UtcNow;
注意:DateTime.UtcNow獲取當前日期和時間,但它不使用本地時區,而是使用UTC時間。
您可以參考以下鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.