【问题标题】:How to get military time back from AJAX call to web api如何从 AJAX 调用返回到 web api 的军事时间
【发布时间】:2016-06-28 17:26:38
【问题描述】:

我有一个将 datacontract 和 datamember 属性应用于其属性的类,包括日期时间,如下所示:

[DataMember]
public DateTime MyDate{get;set;}

我在 webapi 控制器用来从数据库中获取数据的类中使用 ADO.NET,就像这样

MyDate = Convert.ToDateTime(reader["mydate"]);

例如,数据库中的日期是 2016-01-21 16:30:00.000。当我在javascript中显示它时,即。

new Date(value.MyDate).toString('MM/dd/yyyy hh:mm:ss')

它在屏幕上显示为 2016-01-21 04:30:00.000。当我检查提琴手响应时​​,JSON 为对象的“MyDate”属性返回 2016-01-21T16:30:00。我究竟做错了什么?为什么这在军事时期没有出现?

【问题讨论】:

  • 为什么会显示 12 小时日期而返回 24 小时日期?如果它错误地显示 12 小时日期,我可能会将误报转换为两位数日期
  • 因为它将字符串识别为日期时间格式并将其转换为Date 对象。当您打印出 Date 对象时,您会看到 12 小时日期。您需要手动将其转换为 24 小时格式。
  • 如果它将所有内容打印为 12 小时日期,您如何确定日期应该是 04 还是 16?
  • 因为我把我说的最后一句话搞砸了。忽略它。您格式化字符串的方式不正确,这看起来像是您想出来的。对不起,我把你误入歧途了哈哈。

标签: javascript c# asp.net-web-api


【解决方案1】:

将日期格式字符串中的小时数从“MM/dd/yyyy hh:mm:ss”更改为“MM/dd/yyyy HH:mm:ss”更正了该问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-01
    • 2014-08-07
    • 2011-04-07
    • 1970-01-01
    • 2012-01-12
    • 2019-12-27
    • 1970-01-01
    • 2020-01-14
    相关资源
    最近更新 更多