【问题标题】:Format date in angularJS在angularJS中格式化日期
【发布时间】:2017-12-10 11:32:48
【问题描述】:

我有一个格式为“2017-06-26 10:21:25.88785”的日期。我的目的是展示这种格式 'dd/MM/yyyy hh:mm:ss',并将这个日期放入 ng-table 中。所以,我写在我的 ng-table 中

{{::fondo.aggTms | date:'dd/MM/yyyy hh:mm:ss'}}

其中 fondo 是我的变量,而 aggTms 是主变量的属性。 不幸的是,它不起作用,并且在我的表格中显示了第一种(错误的)格式。 谁能帮帮我?

【问题讨论】:

  • 试试 'dd/MM/yyyy hh:mm:ss a'
  • 它不起作用。如果有帮助,{{::fondo.aggTms | date:'dd/MM/yyyy hh:mm:ss'}} 是从弹出窗口写的...
  • 你能不能用更多的代码做一个sn-p,这样会更清楚。
  • 我想更多的代码没有帮助。我试图用我在你plunker中的数据替换你的数据,它不起作用,你可以检查一下。似乎是输入格式“2017-06-26 10:21:25.88785”不是“好”

标签: angularjs date format


【解决方案1】:

您可以尝试对最后几秒部分进行四舍五入,然后将其转换为日期,然后尝试使用角度过滤器。代替 fondo.aggTms 调用的函数是

$scope.toDate = function(date){
    var res = date.split(":");
    var last = window.Math.round(res[2]);
    var datestring = res[0]+':'+res[1]+':'+last;
    var d = new Date(datestring);
    return d;
}

{{::toDate(fondo.aggTms) | date:'dd/MM/yyyy HH:mm:ss'}}

这是有效的 plunker 链接:https://plnkr.co/edit/7OHqUmxnjfs89mCMCF3M?p=preview

现在这仅在您将最后一部分视为十进制秒数时才有效。

【讨论】:

    猜你喜欢
    • 2016-01-27
    • 1970-01-01
    • 2012-10-06
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2015-09-29
    相关资源
    最近更新 更多