typescript:将时间戳字符串转换为日期格式的3种方法

2,592 阅读2分钟

在这篇博客文章中,你将学习如何将时间戳转换成日期格式。

Timestamp是一种unix格式,用于保存日期和时间,它是10位数。

如何在Javascript中获取时间戳

let currentDate=new Date(); // 2020-04-17T17:19:19.831Z
console.log(currentDate.getTime()) //1587143959831

因此,时间戳是以1970年1月1日的UTC格式为单位的长数字。javascripts中的Date对象持有日期和时间格式。这篇帖子只谈了日期格式。

在下面的文章中,你会学到许多将unix时间戳转换为Date格式的方法 -javascript/Typescript将时间戳转换为Date格式 -Angular时间戳转换为Date -MomentJS

让我们考虑一下用straing给出的unix时间戳,如下所示

let timestamp=1587143959831;

在javascript中内置的Date提供了toLocaleDateString() method ,以返回给ISO的日期格式。 在下面的en-us ,是提供的美国日期格式。

var date = new Date(timestamp).toLocaleDateString("en-us")
console.log(date) //4/17/2020

同样的代码在javascript 中也可以使用

MomentJS库

如果在应用程序中已经使用了MomentJS,那就很容易做到。

MomentJS是用于javascript应用程序的日期第三方库。

const date = moment(timestamp).format('L');
console.log(date); // 4/17/2020

Angular例子

在Angular应用程序中,我们有很多方法可以做到这一点

管道

在typecript中,时间戳变量被声明为值。

{{timestamp | date::dateformat}}

在typecript代码组件中

import { Component } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {
 timestamp=1587143959831;
}

在组件模板html过滤器中,使用管道符号,带有日期属性,日期格式被声明。

<div>{{score.timestamp | date:'dd/MM/yyyy'}}</div>

输出是

17/04/2020