如何使用DatePipe在Angular 4中获取日期和时间

时间:2018-05-10 10:02:32

标签: angular typescript date-pipe

我正在使用角度4应用程序,在这里我需要使用角度 DatePipe 来获取当前日期和时间。

我希望以下列格式获取日期和时间

dd-mm-yyyy hh:MM:ss AM / PM

我通过使用Angular DatePipe获得了预期,如下所示

<p>{{today | date:'dd-MM-yyyy hh:mm:ss a':'+0530'}}</p> 

输出:

10-05-2018 03:28:57 PM

在这里,我想要做的是从我的app.component.ts获取相同的输出而不触及HTML

所以我尝试了以下代码,但它生成了一个13位数的时间戳

today = Date.now();
    fixedTimezone = this.today;

那我如何才能在不使用HTML的情况下从app.component.ts文件中获取上述格式的日期和时间。

3 个答案:

答案 0 :(得分:11)

适用于 Angular 6 或以上

你不需要任何图书馆。如果你可以用角度来做。从普通包导入formatDate并传递其他数据。见下面给出的例子。

import { Component } from '@angular/core';
import {formatDate } from '@angular/common';
@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
  today= new Date();
  jstoday = '';
  constructor() {
    this.jstoday = formatDate(this.today, 'dd-MM-yyyy hh:mm:ss a', 'en-US', '+0530');
  }
}

stackblitz:https://stackblitz.com/edit/angular-vjosat?file=src%2Fapp%2Fapp.component.ts

答案 1 :(得分:10)

let dateFormat = require('dateformat');
let now = new Date();
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
Thursday, May 10th, 2018, 7:11:21 AM 

这种格式与您的问题完全一样

dateFormat(now, "dd, mm, yyyy, h:MM:ss TT"); 

返回10, 05, 2018 7:26:57 PM

你需要npm包npm i dateformat 这是npm包https://www.npmjs.com/package/dateformat

的链接

这是另一个激励我How to format a JavaScript date

的问题

h:MM:ss TT结果7:26:57 PM

HH:MM:ss结果13:26:57

这是https://jsfiddle.net/5z1tLspw/

我希望有所帮助。

答案 2 :(得分:0)

使用formatDate函数根据区域设置规则格式化日期。

{{ value_expression | date [ : format [ : timezone [ : locale ] ] ] }}

可能有用:)