AM PM格式角度(打字稿)

时间:2019-01-20 23:08:20

标签: javascript angular typescript

无法添加时间格式。 应以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;

1 个答案:

答案 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

  1. 创建日期对象 dateNow : Date = new Date();

  2. 使用html中的日期格式。 {{dateNow | date:'short'}}

使用DatePipe是ng.common的一部分,是最佳实践。