无法添加时间格式。 应以AM PM格式显示12小时; 我需要此表格作为客户的订阅表格。 我用于计划的日期和时间
如何获取12 PM AM PM时间格式?
private weekday = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
private monthNames = ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'
];
constructor(private router: Router) {}
ngOnInit() {
}
getCurrentUrl() {
return this.router.url.split('#')[0];
}
formatDate(dt) {
const _date = new Date(dt);
const nameDay = this.weekday[_date.getDay()];
return nameDay + ', ' + _date.getDate() + ' ' + this.monthNames[_date.getMonth()] + ' ' + _date.getFullYear();
}
getTime(dt) {
const _date = new Date(dt);
let _hour = _date.getHours().toString();
let _min = _date.getMinutes().toString();
_hour = _hour.length === 1 ? '0' + _hour.toString() : _hour;
_min = _min.length === 1 ? '0' + _min.toString() : _min;
return _hour + ':' + _min;
答案 0 :(得分:2)
我觉得我需要更多细节。但是鉴于您所提供的内容:
https://codepen.io/nstanard/pen/bzbdrJ
let date = new Date();
function formatDate(dt) {
// const _date = new Date(dt);
// const nameDay = this.weekday[dt.getDay()];
// return nameDay + ', ' + dt.getDate() + ' ' + this.monthNames[dt.getMonth()] + ' ' + dt.getFullYear();
let normalizeHour = dt.getHours() >= 13 ? dt.getHours() - 12 : dt.getHours()
return dt.getHours() >= 13 ? normalizeHour + 'PM' : normalizeHour + 'AM'
}
console.log(formatDate(date))
这是格式化为AM和PM的日期对象的小时。
但是,如果您使用的是TypeScript和Angular,建议您看以下示例:https://stackblitz.com/edit/angular-sc1ihu
创建日期对象
dateNow : Date = new Date();
使用html中的日期格式。
{{dateNow | date:'short'}}
使用DatePipe是ng.common的一部分,是最佳实践。