如何使用 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>
我在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
这是另一个启发我的问题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>