如何使用 DatePipe 在 Angular 4,5,6 及更高版本中获取日期和时间

How to get date and time in Angular 4,5,6 and above using DatePipe

我在angular 4 应用程序中工作,这里我需要获取当前Date and Time Using angular 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 文件中获取上述格式的日期和时间。

使用函数 formatDate 根据语言环境规则格式化日期。

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

可能会有用:)

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"); 

returns 10, 05, 2018 7:26:57 PM

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

的 link

这是另一个启发我的问题How to format a JavaScript date


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

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

就在这里https://jsfiddle.net/5z1tLspw/

希望对您有所帮助。

适用于 Angular 6 或以上

您不需要任何第 3 方库。您可以使用 angular method/util 进行格式化。从公共包中导入 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');
  }
}

堆栈闪电战:https://stackblitz.com/edit/angular-vjosat?file=src%2Fapp%2Fapp.component.ts

要在 Angular 中获取格式化日期,我们可以使用 Angular Datepipe。

例如,我们可以使用以下代码在我们的代码中获取格式化日期。

import { DatePipe } from '@angular/common';

@Component({
    selector: 'app-name-class',
    templateUrl: './name.component.html',
    styleUrls: ['./name.component.scss']
})

export class NameComponent implements OnInit {
  
  // define datepipe

  datePipe: DatePipe = new DatePipe('en-US');
  
  constructor(){}

  // method to get formatted date

  getFormattedDate(){
    
    var date = new Date();
    var transformDate = this.datePipe.transform(date, 'yyyy-MM-dd');
    return transformDate;

  }
}

之后,您可以在 html 代码中使用 getFormattedDate() 方法。

<p>{{getFormattedDate()}}</p>