我具有以下格式的JSON数据,并希望以人类可读的格式显示startDateTime
。
var txns = {
"payeeAccNum": "12081031991",
"startDateTime": "2018-11-13T20:47:47.866"
}
我已按照以下方式进行操作,但始终只将时间显示为 12:00:00 AM 。有人可以帮忙吗?
<span [innerHTML]="(txns.startDateTime | date:'d MMM yyyy h:mm:ss a')"></span>
答案 0 :(得分:0)
使用日期过滤器,您可以将日期/时间设置为所需的任何格式:
“ medium”:相当于en_US语言环境的“ MMM d,y h:mm:ss a”(例如2010年9月3日下午12:05:08)
'short':等于en_US语言环境的'M / d / yy h:mm a'(例如9/3/10) 下午12:05)
'fullDate':等于en_US语言环境的'EEEE,MMMM d,y' (例如,2010年9月3日,星期五)
'shortDate':在en_US语言环境中相当于'M / d / yy'(例如9/3/10)
'mediumTime':对于en_US语言环境,相当于'h:mm:ss a'(例如 下午12:05:08)
'shortTime':等于en_US语言环境的'h:mm a' (例如12:05 PM)
现在您希望您的时间以什么格式显示?
对于中等显示,请使用:
<span [innerHTML]="(txns.startDateTime | date:'medium')"></span>
最好使用[innerText]
代替HTML来显示跨度内容。
要获取类似中等日期而没有秒的内容,请使用'MMM d, y h:mm a'
Dateoffset过滤器:
transform(value: any, format = 'MM/dd/yyyy'): string {
let formattedDt: string;
if (value) {
if (DateUtil.DATE_TIMEZONE_REGEX.test(value)) {
value = this.removeTimezone(value);
}
formattedDt = this.datePipe.transform(new Date(value), format);
}
return formattedDt;
}
private removeTimezone(value: any): string {
const timezoneDashIndex = value.lastIndexOf('-');
return value.slice(0, timezoneDashIndex);
}
答案 1 :(得分:0)
考虑使用moment.js库进行数据时间转换
访问momentjs.com
这是您的代码的解决方案:
var requiredDateFormat = moment(tsnx.startDateTime).format('MM-DD-YYYY')