【问题标题】:How to convert JSON.NET datetime format to javascript date and time如何将 JSON.NET 日期时间格式转换为 javascript 日期和时间
【发布时间】:2012-08-03 13:58:49
【问题描述】:

我不敢相信我会问这种问题。但我不得不这样做,因为我没有多少头发可以伸展。

我正在使用 MVC4 RC WEB API 和淘汰赛。如果我调用 web api 的 GET 方法,我会得到一个带有 datetime 属性的对象,该属性通过 JSON.NET 自动转换为字符串,例如“2012-05-12T00:00:00”。

但是如何将此字符串转换为 javascript 格式以使用 jquery ui,例如日历?我尝试了各种方法都徒劳无功。

更新:我相信这不是 Date 类。这是 jquery 日历(当然还有我)。我不知道我必须像这样指定 minDate 才能显示正确的日期值。也许有更好的方法来做到这一点?

        <div class="editor-label">Date:             </div>
        <div class="editor-field">
                <input data-bind="datepicker: selectedGroup().InspectionDate, 
                      datepickerOptions: { minDate: selectedGroup().InspectionDate }">
                </input>
        </div>    

【问题讨论】:

  • var d = new Date("2012-05-12T00:00:00"); 不适合你?!

标签: javascript asp.net-mvc-4 asp.net-web-api json.net


【解决方案1】:

Javascript 控制台(Chrome):

>>Date("2012-05-12T00:00:00")
Fri May 11 2012 19:00:00 GMT-0500 (Central Daylight Time)

Date() 不适合你?

【讨论】:

  • 这就是我遇到的麻烦。它返回今天的日期!
  • @david 创建一个新的 Date() 会让你得到你想要的。 new Date("2012-05-12T00:00:00")
【解决方案2】:

真的有两种方式。

  1. 蛮力:拆分字符串,获取年、月、日等,并在javascript日期上调用相关方法,例如setYearsetMonthsetDate

  2. 使用诸如 date.js 之类的库,它往往比原生 Date 对象更支持将字符串解析为日期

这似乎也涵盖了您想要的内容:https://github.com/csnover/js-iso8601/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-03
    • 1970-01-01
    • 2016-11-26
    • 2013-03-24
    • 2011-03-05
    • 2015-10-25
    • 2011-10-05
    相关资源
    最近更新 更多