格式化C#对象列表中的所有日期属性

格式化C#对象列表中的所有日期属性,c#,asp.net-core-2.0,datetime-format,C#,Asp.net Core 2.0,Datetime Format,我在格式化对象列表中每个date属性的DateTime时遇到了很大的问题。以下是我迄今为止尝试过的几个例子: var data = vulnerabilityList.Skip(skip).Take(pageSize).ToList() .Select(v => { v.PublishedDate = v.PublishedDate.ToString("dd/MM/yyyy"); return v; }); 及 最终,我希望格式为2017年12月31日,它将以JSON的

我在格式化对象列表中每个date属性的DateTime时遇到了很大的问题。以下是我迄今为止尝试过的几个例子:

var data = vulnerabilityList.Skip(skip).Take(pageSize).ToList()
    .Select(v => { v.PublishedDate = 
    v.PublishedDate.ToString("dd/MM/yyyy"); return v; });

最终,我希望格式为2017年12月31日,它将以JSON的形式返回,因此漏洞类上的数据注释似乎被忽略。第一个例子没有编译,很明显,它试图将DateTime设置为字符串,但我将它作为一个示例来说明我要做的事情


谢谢

datetime是使用数字表示日期和时间,它没有固有的格式。它的目的是让您在阅读或向用户显示时按照自己的意愿对其进行格式化。这样做:

v.PublishedDate = (DateTime)v.PublishedDate.ToString("dd/MM/yyyy")
只将发布日期设置为dd/MM/yy 00:00:00(如果有效)


我相信您需要做的是改变最终解析JSON的方式,或者将DateTime作为字符串存储在新属性中以供读取

问题是:您想要固定格式的日期时间吗?(意思是,不依赖于客户的文化)?如果是真的,也许你应该考虑将日期建模为客户端上的字符串。使用一些日期字段为字符串类型的数据传输对象。@Pac0谢谢,这就是我刚才采用的方法。谢谢,这很有意义。我将研究如何在生成的JSON中格式化输出。
v.PublishedDate = (DateTime)v.PublishedDate.ToString("dd/MM/yyyy")