Angularjs过滤时间戳INPUT格式

时间:2016-03-31 09:13:04

标签: angularjs

我必须在使用ng-repeat生成的表中提供时间戳。每条记录中的一个字段是格式为$baseUrl = Mage::getUrl(); // this is a core Magento function $baseUrl = trim($baseUrl); $baseUrl = str_replace("\0", "", $baseUrl); $baseUrl = (string) $baseUrl; var_dump(addslashes($baseUrl)); // outputs the same length, string(27) 的时间戳,表示年份的最后两位数字,月份的两位数字,一天的两位数字,一小时的两位数字等。例如{{1}将代表 2016年3月31日12:45:36

我在HTML中发现了一条建议使用以下语法的帖子:

YYMMDDHHmmSS

这会将数字字符串替换为日期时间字符串,但日期和时间完全错误。

有没有办法告诉angular接收到的(初始)字符串的内容是什么,比如YYMMDD ......?

提前致谢。

3 个答案:

答案 0 :(得分:1)

它还不是很漂亮,但是这个自定义过滤器可以让你前进,

angular.module('yourAppName').filter('special', function() {
  return function(input) {
    var date = new String(input),
        year = date[0] + date[1],
        month = date[2] + date[3],
        day = date[4] + date[5],
        hour = date[6] + date[7],
        minute = date[8] + date[9],
        seconds = date[10] + date[11];

    var reformattedDate = '20' + year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + seconds;

    var newDate = new Date(reformattedDate);

    return newDate;
  };
});

然后就这样使用它,

{{ 160331124536 | special | date:'medium' }}

答案 1 :(得分:0)

也许这不完全是你想要的,但在我的情况下,我解决了这样的问题:

HTML:

provideStore()

JS:

{{getDate(timestamp)}}

我使用了一个函数,它将日期从时间戳中返回。 您也可以通过这种方式重新格式化日期或返回日期。 详细了解Javascript日期方法here

答案 2 :(得分:0)

在ng-repeat中使用

  {{One_Record.Timestamp  |date : 'dd/MM/yyyy HH:mm'}}