【问题标题】:Blazor Serverside Application Datetime default to 01/01/0001Blazor 服务器端应用程序日期时间默认为 01/01/0001
【发布时间】:2020-03-31 16:11:22
【问题描述】:

我尝试将我的 CreatedDate 列设为空,或者至少在我启动应用程序时显示当前日期,而不是 01/01/0001。 我尝试了Format MVC default Date (01/01/0001) to be empty 中的示例 并通过在 razor 页面上的列中添加一个点符号“newPerson.StartDate.Now”,这也不起作用。

【问题讨论】:

  • 请尝试提供更多上下文,让读者更好地理解您的问题。
  •  

标签: c# asp.net-core model-view-controller blazor-server-side asp.net-blazor


【解决方案1】:
public DateTime? MyDate { get; set; }

在对象的构造函数中:

MyDate = null;

或者如果你想使用日期

MyDate = DateTime.Now;

我刚刚测试过,两者都适合我。

【讨论】:

  • 用null初始化是零点,因为默认是null。此外,如果您确实希望它默认为现在,请指定属性默认值;不要在构造函数中初始化,即:public DateTime? MyDate { get; set; } = DateTime.UtcNow;。最后,不要在服务器环境中使用DateTime.Now,尤其是。 Now 将是服务器时间,这几乎肯定与最终用户的时间不同。显示日期/时间时使用UtcNow 并从UTC 转换为适当的时区。
  • 成功了!但是,MyDate = null 对我不起作用,因为该表设置为不接受 nuul 值。
  • 同样,不要将其设置为 null。毫无意义。如果您需要强制它有一个值,尽管它可以为空,请在属性上使用 Required 属性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
  • 2015-12-31
  • 1970-01-01
  • 2019-01-22
  • 2013-07-23
  • 1970-01-01
  • 2021-04-23
相关资源
最近更新 更多