📜  ts 更改日期格式 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:48:02.696000             🧑  作者: Mango

TypeScript: 更改日期格式

在 TypeScript 中,我们可以使用内置的 Date 类来表示日期和时间。默认情况下,日期格式是一个字符串,包含日期和时间,例如 Thu Feb 18 2021 09:00:00 GMT+0800 (中国标准时间)。然而,在实际开发中,我们可能需要将日期格式更改为特定的格式,例如 2021-02-18 09:00:00

下面是几个方法来更改 TypeScript 中的日期格式:

使用 Intl.DateTimeFormat

可以使用 Intl.DateTimeFormat 对象来格式化日期。该对象允许您根据特定区域设置格式化选项,并使您能够轻松地格式化日期。

const date = new Date();
const formatOptions = {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit',
  hour: 'numeric',
  minute: 'numeric',
  second: 'numeric',
  hour12: false,
  timeZone: 'Asia/Shanghai'
};
const formattedDate = new Intl.DateTimeFormat('en-US', formatOptions).format(date);

console.log(formattedDate); // output: "02/18/2021, 09:00:00"
使用 Moment.js

Moment.js 是一个流行的 JavaScript 库,它允许您轻松地解析、验证、操作和显示日期和时间。Moment.js 支持许多不同的日期格式,并具有强大的格式选项。

首先,我们需要安装 Moment.js:

npm install moment

然后,我们可以使用 Moment.js 将日期格式更改为我们所需的格式:

import moment from 'moment';

const date = new Date();
const formattedDate = moment(date).format('YYYY-MM-DD HH:mm:ss');

console.log(formattedDate); // output: "2021-02-18 09:00:00"
自定义函数

您还可以编写自己的函数来格式化日期。以下是一个将日期格式更改为 YYYY-MM-DD HH:mm:ss 的简单示例:

const formatDate = (date: Date) => {
  const year = date.getFullYear();
  const month = date.getMonth() + 1 < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;
  const day = date.getDate() < 10 ? `0${date.getDate()}` : date.getDate();
  const hours = date.getHours() < 10 ? `0${date.getHours()}` : date.getHours();
  const minutes = date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes();
  const seconds = date.getSeconds() < 10 ? `0${date.getSeconds()}` : date.getSeconds();
  
  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
}

const date = new Date();
const formattedDate = formatDate(date);

console.log(formattedDate); // output: "2021-02-18 09:00:00"

以上是三种在 TypeScript 中更改日期格式的方法。无论您选择哪种方法,都可以轻松地将日期格式更改为所需的格式。