繁体   English   中英

DateTime 在单独的 .cs 文件中执行时返回最小值

[英]DateTime returning min value when executed in separate .cs file

所以我写了一个用户日志系统,不幸的是,当我尝试在用户中保存日期时,它不起作用,但是当我手动调用它时,它工作得很好。

User.cs

    class User
    {
        public User()
        {
            creationDate = DateTime.Now;
                    
        }
        public DateTime CreationDate{get;set;}
        private DateTime creationDate = new DateTime();
    }
Program.cs

    User user = new User();
    Console.Write(user.CreationDate); //Output: 1/1/0001 12:00:00 AM
    Console.Write(DateTime.Now); // Output: 7/6/2021 10:55:26 AM (e.g. the correct time)

难道我做错了什么?

你的财产和你的领域完全无关。 没有使用该字段 - 但这就是您在构造函数中设置的内容。

最简单的选择是完全摆脱该字段,并在任何地方使用该属性:

class User
{
    public User()
    {
        CreationDate = DateTime.Now;                
    }

    public DateTime CreationDate { get; set; }
}

(作为旁注, DateTime.Now对于类似时间戳的值通常不如DateTime.UtcNow ,除非您真的只对系统本地时区感兴趣,并且您不介意值是否发生变化向后或跳过夏令时更改。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM