【问题标题】:How do I format Datetime to remove seconds in model?如何格式化日期时间以删除模型中的秒数?
【发布时间】:2020-06-06 11:46:01
【问题描述】:

我正在使用 Datetime,并希望从我的数据库中存储的内容中删除秒数。在我的一个旧项目中,我将 Datetime 的日期部分格式化如下:

[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MM-dd}")]
public DateTime Date { get; set; } 

但是我将如何格式化整个事情,日期和时间?目前,输入存储在我的数据库中,例如:

2020-02-22 08:00:00.000

而我真正想要的是这样的:

2020-02-22 08:00

我遇到了一些关于日期的建议和一些关于秒的建议,但并不是两者兼而有之,而且不仅仅是在这样的模型中,因此我不需要实现额外的功能。

【问题讨论】:

  • DateTime 将始终具有日期和时间属性,但您可以通过 ToString() 使用格式。 See Microsoft Documentation
  • 除了 Jawad 的评论之外,这个 DateTime.Now.ToString("g") 应该可以工作。

标签: c# regex asp.net-mvc datetime formatting


【解决方案1】:

如果您的日期时间作为日期时间存储在您的数据库中(这是一件非常好的事情),您的 ORM 层应该将其转换为 C# 日期时间数据类型。您可以使用此代码在没有秒数的情况下打印它:

Console.WriteLine("date and time: {0:MM/dd/yy H:mm}", 
               theDate); 

see

如果您的日期时间作为字符串存储在您的数据库中(这是一件非常糟糕的事情),请使用此正则表达式:

\d{4}-\d{2}-\d{2} \d{2}:\d{2} 

demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-25
    • 2017-09-09
    • 2013-09-21
    • 2015-10-13
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    相关资源
    最近更新 更多