13

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

4

4 回答 4

24

将适用于Angular 6或更高版本

您不需要任何 3rd 方库。您可以使用 angular 进行格式化method/utilformatDate从通用包导入并传递其他数据。请参见下面给出的示例。

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

于 2018-05-10T10:57:30.883 回答
22
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/

我希望这会有所帮助。

于 2018-05-10T10:12:57.877 回答
1

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

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

它可能有用:)

于 2018-05-10T10:07:08.210 回答
0

要在 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;

  }
}

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

<p>{{getFormattedDate()}}</p>
于 2021-10-22T07:45:15.300 回答