我有一个具有日期时间属性的Person类。 Person类型的对象作为oData响应发回。响应是json。
"FirstName": "Tim",
"LastName": "Sam",
"EmailID": "tim@xyz.com",
"CompanyName": null,
"CreatedDate": "2014-03-18T19:24:30.847"
Web上的很多帮助建议使用ToString并指定格式。 如何在不使用字符串更改的情况下以mm / dd / yyyy设置日期,以便在json中看到相同的内容?
问候。
答案 0 :(得分:0)
如何设置日期,单位为mm / dd / yyyy而不需要更改为 串
jSon中的日期传递是一个字符串,因此您可以将其作为字符串传递。日期以tick的数量存储,并且没有数据对象格式的格式只是一种表示。月份的mm
为MM
。
string strDateForJson = dateTimeObject.ToString("MM/dd/yyyy");
在内部,所有DateTime值都表示为刻度数 (自100纳秒间隔的数量)已经过去了 001. 1月1日午夜12:00:00实际的DateTime值是 独立于该值在a中显示时的显示方式 用户界面元素或写入文件时。一个人的外表 DateTime值是格式化操作的结果。格式化是 将值转换为字符串表示形式MSDN。
的过程
答案 1 :(得分:0)
“如何设置日期,单位为mm / dd / yyyy,而无需更改为 字符串“
你做不到。 DateTime
值是某个时间点的数字表示,它不包含有关格式的任何信息。
将格式转换为字符串以显示格式时,将决定格式。如果您不将其转换为特定格式,则使用默认格式,这取决于转换完成的代码的区域性设置。
此外,JSON标准根本没有任何Date类型,因此您实际上无法在JSON字符串中放置DateTime
值。您需要使用非标准解决方案,或将DateTime
值转换为其他类型。
答案 2 :(得分:0)
你做不到。 DateTime
是DateTime
,就是这样。
如果您想将其表示为其他内容,则必须将其转换为其他内容 - 比如说一个字符串。这就是建议使用特定格式转换为字符串的原因。
因此,虽然它可能不是你想要的答案,但你的解决方案基本上是这样的:
yourDate.ToString("MM/dd/yyyy");
答案 3 :(得分:0)
为了防止将来出现问题,我会考虑在接口中使用string
而不是DateTime
(例如格式为mm / dd / yyyy)。在客户端和服务器端,您可以以您需要的任何格式转换它。