【问题标题】:Moment Converting Date to Local Time?将日期转换为当地时间的时刻?
【发布时间】:2017-06-09 11:46:35
【问题描述】:

我在页面上有一个 Kendo UI MVC 网格。在这个网格中有三个日期列。日期(无时间值)作为本地时间(不是 UTC)存储在数据库中。这些列在网格中的定义如下:

            columns.Bound(p => p.CloseoutDate).ClientTemplate("#= moment(CloseoutDate).format('MM/DD/YYYY') #").Width(120);
            columns.Bound(p => p.BeginDate).Title("Begin Date").ClientTemplate("#= moment(BeginDate).format('MM/DD/YYYY') #").Width(110);
            columns.Bound(p => p.EndDate).Title("End Date").ClientTemplate("#= moment(EndDate).format('MM/DD/YYYY') #").Width(110);

您可以看到我正在使用 moment.js 进行日期格式设置。但是,似乎现在假设这些日期是 UTC 日期并将它们转换为本地时间。显示网格时,日期如下所示:

所有这些日期都差了一天。例如,第一行应该是 1/15/2010、1/1/2010、1/15/2010。这是正常的瞬间行为吗?可以改变吗?

此外,CloseoutDate、BeginDate 和 EndDate 是实际的 C# 日期时间值。在 SQL Server 数据库中,它们被存储为日期。

【问题讨论】:

  • 也许尝试将format 移动到moment(DateField) 例如moment(CloseoutDate, 'MM/DD/YYYY')。来自this question.
  • CloseoutDateBeginDateEndDate的值是哪个?这些值是字符串吗?在这种情况下,您可以使用moment(String, String)
  • @VincenzoC - CloseoutDate、BeginDate 和 EndDate 是实际的 C# 日期时间值。在数据库中,它们被存储为日期。
  • @RandyMinder 不幸的是我对 C# 了解不够,传递给矩构造函数的是什么?
  • @VincenzoC 你的评论和我的有什么不同吗?

标签: javascript kendo-ui momentjs


【解决方案1】:

这解决了问题:

            columns.Bound(p => p.CloseoutDate).ClientTemplate("#= moment.utc(CloseoutDate,'MM/DD/YYYY').format('MM/DD/YYYY') #").Width(120);
            columns.Bound(p => p.BeginDate).Title("Begin Date").ClientTemplate("#= moment.utc(BeginDate,'MM/DD/YYYY').format('MM/DD/YYYY') #").Width(120);
            columns.Bound(p => p.EndDate).Title("End Date").ClientTemplate("#= moment.utc(EndDate,'MM/DD/YYYY').format('MM/DD/YYYY') #").Width(120);

基本上使用 moment 库和 UTC 构造函数。

【讨论】:

    【解决方案2】:

    你可以在列中格式化日期

    { field: "beginDate", title: "Begin Date", format: "{0:yyyy-MM-ddTHH:mm:ss}",parseFormats: "{0:yyyy-MM-ddTHH:mm:ss}"}
    

    【讨论】:

    • 1) 我在这些日期没有时间部分。 2)这将如何防止日期转换为当地时间? 3) 我如何将其传递到原始帖子中显示的当前陈述中?
    • 客户端的响应是什么?
    • 我不明白这个问题
    • 是的,对不起,我很困惑。您是直接与数据库通信还是有一些网络服务?
    • 这是一个 MVC 应用程序。因此,正在调用 MVC 控制器方法,该方法通过 AJAX 调用将数据传递给客户端。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-21
    • 2021-12-15
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多