我正在使用角度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文件中获取上述格式的日期和时间。
答案 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
我希望有所帮助。
答案 2 :(得分:0)
使用formatDate函数根据区域设置规则格式化日期。
{{ value_expression | date [ : format [ : timezone [ : locale ] ] ] }}
可能有用:)