更改日期格式(Javascript/Angular)
我从一个服务中得到了一个日期,但这似乎不是一个真正的日期格式 我试着像这样打印: {{vm.napivent.RecordDate}date:'HH:mm:ss dd mm yyyy'} 但它是印刷品 2018-10-11+01:00在前端。 有没有办法以我想要的格式显示记录日期?试试moment.js更改日期格式(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
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
是一个字符串。如果这是一个字符串,我怎么做?过滤不起作用