更改日期格式(Javascript/Angular)

更改日期格式(Javascript/Angular),javascript,html,angularjs,Javascript,Html,Angularjs,我从一个服务中得到了一个日期,但这似乎不是一个真正的日期格式 我试着像这样打印: {{vm.napivent.RecordDate}date:'HH:mm:ss dd mm yyyy'} 但它是印刷品 2018-10-11+01:00在前端。 有没有办法以我想要的格式显示记录日期?试试moment.js moment().format("h:mm:ss a,Do MMMM YYYY,"); 如果您收到的日期格式为“dd/mm/yyyy”。可以使用正则表达式转换日期 this.NapIncid

我从一个服务中得到了一个日期,但这似乎不是一个真正的日期格式

我试着像这样打印:

{{vm.napivent.RecordDate}date:'HH:mm:ss dd mm yyyy'}

但它是印刷品

2018-10-11+01:00在前端。

有没有办法以我想要的格式显示记录日期?

试试moment.js

moment().format("h:mm:ss a,Do MMMM YYYY,");

如果您收到的日期格式为“dd/mm/yyyy”。可以使用正则表达式转换日期

 this.NapIncident.recordDate = new Date(this.NapIncident.recordDate.replace(/(\d{2})- 
(\d{2})-(\d{4})/, "$2/$1/$3"))
 }

请使用力矩js。对于更高级的级别,您可以对dateformat进行筛选,并使用如下代码

(function () {
'use strict';

angular.module('app.filter')
    .filter('utcDate', utcDate);

function utcDate() {
    return function (value, format) {
        moment.locale("en");
        switch (format) {
            case 'shortTime':
                format = 'LT';
                break;
            case 'shortDate':
                format = 'L';
                break;
            case 'communityDate':
                format = 'LT L';
                break;
            case 'orderDate':
                format = 'LT ll';
                break;
            case 'orderLongTime':
                format = 'HH:mm';
                break;
            case 'activityDate':
                format = 'L LT';
                break;
            case 'chatComivo':
                format = 'MMM D';
                break;
            case 'broadcastReplyTime':
                format = 'HH:mm a';
                break;
            case 'broadcastReplyDate':
                format = 'MM/DD/YYYY';
                break;
            case 'promotionDate':
                format = 'MM/DD/YYYY';
                break;
            case 'converstionDate':
                format = 'MMMM DD YYYY, h:mm:ss a';
                break;
            case 'lastRead':
                format = 'lll';
                break;
             case 'test':
                format = 'HH:mm:ss dd-MM-yyyy';

        }

        //var localDate = moment.utc(value).local(); this is for to convert date into utc date
        //return localDate.format(format);return moment().format(format); 

return    moment().format(format)     }    }})();
并使用以下html

this date <p>{{date | utcDate:'test'}}</p>
此日期{{date | utcDate:'test'}


您可以根据您的要求进行更新。

我尝试了您的代码(日期格式),它显示为您想要的。在您的环境中,一定有其他原因导致此问题。也许是缓存?试试什么是
vm.napivent.RecordDate
?一串日期对象?您能否创建工作代码段(编辑器中的图标
[]
)来演示您的问题?您使用的是angular(如标题)还是angularjs(如标记)?我假设
vm.napivent.RecordDate
是一个字符串。如果这是一个字符串,我怎么做?过滤不起作用