如何在 asp.net Core Razor Pages 中更改 DateTime 字段显示精度
How to change DateTime field display precision in asp.net Core Razor Pages
我正在 asp.net 核心剃须刀页面中处理我的第一个项目,并尝试将创建日期时间字段添加到我的文章模型中,该字段默认填充当前日期时间。我这样定义它:
[Required]
[DataType(DataType.DateTime)]
public DateTime CreationDate { get; set; } = DateTime.Now;
访问文章创建页面时,显示如下:
2019/02/02 09:25:36.377 PM
我不想在这里显示秒和毫秒,但找不到删除它们的方法。任何帮助将不胜感激。
您可能想要使用 DateTime.ToString(string) 来显示日期。例如 CreationDate.ToString("yyyy/MM/dd HH:mm")
会变成 2019/02/02 09:25
或者您可以使用 DisplayFormat Attribute。例子
[Required]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy/MM/dd HH:mm}")]
public DateTime CreationDate { get; set; } = DateTime.Now;
为什么不直接(把这个放在 getter 中)
var newdate = CreationDate.AddTicks(-CreationDate .Ticks % TimeSpan.TicksPerMinute);
或者试试这个 c# 6+
[Required]
[DataType(DataType.DateTime)]
public DateTime CreationDate { get; set; } = DateTime.Now.AddTicks(-DateTime.Now.Ticks % TimeSpan.TicksPerMinute);
我正在 asp.net 核心剃须刀页面中处理我的第一个项目,并尝试将创建日期时间字段添加到我的文章模型中,该字段默认填充当前日期时间。我这样定义它:
[Required]
[DataType(DataType.DateTime)]
public DateTime CreationDate { get; set; } = DateTime.Now;
访问文章创建页面时,显示如下:
2019/02/02 09:25:36.377 PM
我不想在这里显示秒和毫秒,但找不到删除它们的方法。任何帮助将不胜感激。
您可能想要使用 DateTime.ToString(string) 来显示日期。例如 CreationDate.ToString("yyyy/MM/dd HH:mm")
会变成 2019/02/02 09:25
或者您可以使用 DisplayFormat Attribute。例子
[Required]
[DataType(DataType.DateTime)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy/MM/dd HH:mm}")]
public DateTime CreationDate { get; set; } = DateTime.Now;
为什么不直接(把这个放在 getter 中)
var newdate = CreationDate.AddTicks(-CreationDate .Ticks % TimeSpan.TicksPerMinute);
或者试试这个 c# 6+
[Required]
[DataType(DataType.DateTime)]
public DateTime CreationDate { get; set; } = DateTime.Now.AddTicks(-DateTime.Now.Ticks % TimeSpan.TicksPerMinute);