【问题标题】:How do I format Date/Time with jQuery Templates?如何使用 jQuery 模板格式化日期/时间?
【发布时间】:2011-05-19 11:55:50
【问题描述】:

我刚刚开始使用jQuery Templates 作为我的javascript 模板引擎。我的问题是,我如何格式化日期(从 ASP.NET Json ActionResult 返回)格式为:

/Date(1288709830000)/

我尝试了以下操作:

{{= $.format(new Date(parseInt(comment.DateCreated.substr(6))), 'd')}} 

注意上面使用新的jquery全球化插件添加$.format方法。另请注意,{{= comment.DateCreated }} 是表示${comment.DateCreated} 的长手。

如果您能提供帮助,我将不胜感激。

【问题讨论】:

  • 你期待什么?实际发生了什么?
  • 我不建议使用 jQuery 或 JavaScript 进行模板化,如果你问我这只是一场大灾难 - 尝试在 MVC 视图/服务器级别进行模板化。
  • @Erx_VB.NExT.Coder - Javascript 和 JQuery 模板是非灾难性的,微软正在帮助将这种功能开发到 JQuery 的核心中。客户端模板非常适合带宽敏感的移动开发,当您使用 API 时,尤其是当您与外部设计师合作时。
  • @jfar:当它调用tmpl插件内部的buildTmplFn函数时,它会抛出错误“无效字符”。
  • @Erx:如果你能解释为什么你会有这种感觉,你的评论会更有建设性。

标签: jquery asp.net-mvc jquery-templates


【解决方案1】:

要在 jQuery 模板中格式化日期时间,您可以编写如下函数:

function formatDate(datetime) {
    var dateObj = new Date(datetime);
    var dateStr = (dateObj.getMonth()+1) + "/" + dateObj.getDate() + "/" + dateObj.getFullYear();
    return dateStr; // will return mm/dd/yyyy
}

然后您可以从 jQuery 模板中调用此函数,如下所示:${formatDate(comment.DateCreated)}

更多详情见:http://api.jquery.com/template-tag-equal

【讨论】:

    【解决方案2】:

    这是我用的

    var formatDate = function (datetime) {
        var dateObj = new Date(parseInt(datetime.replace("/Date(", "").replace(")/", ""), 10));
        return dateObj.format("dd-MMM-yyyy"); //01-Jun-2001
    }
    

    这在我的 JQuery 模板中

    ${formatDate(InceptionDate)}

    【讨论】:

      【解决方案3】:

      这确实有效。我使用的是 Microsoft CDN 上托管的测试版。如果您下载最新版本,一切都会按预期运行。

      【讨论】:

      • 这一行:{{= $.format(new Date(parseInt(comment.DateCreated.substr(6))), 'd')}}。希望对您有所帮助。
      【解决方案4】:

      我想出了一个非常老套的解决方案。如果在页面中添加如下函数:

      function format(o, t) {
          return $.format(o, t);
      }
      

      然后您可以将表达式更改为:

      {{= format(new Date(parseInt(comment.DateCreated.substr(6))), 'd') }}
      

      而且效果很好。微软创建的两个插件会以这种方式发生冲突,这似乎很奇怪。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多