如何在 TypeScript 中将日期转换为字符串?


在 Web 或移动应用程序上显示日期和时间是很常见的。作为用户,您是否曾经见过任何应用程序直接显示日期对象?这种情况永远不会发生,因为它会使用户体验变差。因此,我们需要将日期对象转换为字符串。

将日期对象转换为字符串后,我们可以根据需要对其进行格式化。日期格式是指“yyyy-mm-dd”、“dd-mm-yyyy”等。同样,我们也可以对时间字符串进行相同的操作。我们可以根据需要显示小时、分钟、秒和毫秒。在本教程中,用户将学习如何在TypeScript中将日期对象转换为字符串。

使用 Date 类中的 toLocalString() 方法

日期对象的toLocaleString() 方法用于根据特定区域设置将日期对象转换为字符串。区域设置指的是某个特定区域。

语法

用户可以按照以下语法使用 toLocaleString() 方法将日期对象转换为字符串。

let new_Date: Date = new Date();
new_Date.toLocaleString(Locale, options);

在上述语法中,我们使用 toLocaleString() 方法以及日期类的对象。

参数

toLocaleString() 方法接受以下两个参数。

  • Locale − 它表示特定区域。toLocaleString() 会根据特定区域设置将日期对象转换为字符串。

  • Options − 它是一个包含不同选项的对象。toLocaleString() 方法根据选项返回日期字符串。

返回值

  • toLocaleString() 方法根据传递的参数值返回字符串格式的日期。

示例

在下面的示例中,我们创建了 Date 类的对象。之后,我们使用了 toLocaleString() 方法(不带任何参数)将 new_date 对象转换为日期字符串。

接下来,我们获取了相同的 new_date 对象,并根据美国特定的区域设置将其转换为字符串。最后,我们还将包含 year 属性的对象作为 toLocaleString() 方法的第二个参数传递。

//  Create a new date object
let new_Date: Date = new Date();
// Converting date to string
let result: string = new_Date.toLocaleString();
console.log("The date string according to current locale is: " + result);
// Convert the date object to US specific date string
result = new_Date.toLocaleString("en-US");
console.log("The date string according to US specific locale is: " + result);

编译后,它将生成以下 JavaScript 代码:

//  Create a new date object
var new_Date = new Date();
// Converting date to string
var result = new_Date.toLocaleString();
console.log("The date string according to current locale is: " + result);
// Convert the date object to US specific date string
result = new_Date.toLocaleString("en-US");
console.log("The date string according to US specific locale is: " + result);

输出

以上代码将产生以下输出:

The date string according to current locale is: 12/14/2022, 10:38:03 AM
The date string according to US specific locale is: 12/14/2022, 10:38:03 AM

在输出中,用户可以看到,当我们将选项传递给 toLocaleString() 方法时,它会根据传递的选项返回字符串。

使用 toString() 或 toISOString() 方法

在 TypeScript 中,toString() 方法将其他数据类型或对象的变量转换为字符串格式。因此,我们可以使用它将日期对象转换为字符串格式。

toISOString() 方法在 Date 类中定义。我们可以使用 toISOString() 方法将日期对象转换为 ISO 字符串格式,即 YYYY-MM-DDTHH:mm:ss.sssZ。

语法

用户可以按照以下语法使用 toString() 和 toISOStirng() 方法以及日期类的对象。

let date_String: string = new_Date().toString();
date_String = new_Date().toISOString();

在上述语法中,我们使用 toString() 和 toLocaleString() 方法以及日期对象将它们转换为字符串。

示例

在下面的示例中,current_date 是日期对象的实例。之后,我们使用 toString() 和 toISOString() 方法将日期对象转换为字符串。用户可以在输出中看到它会根据 ISO 格式返回日期字符串。

let current_date: Date = new Date();
// Use the toString() method
let date_String: string = current_date.toString();
console.log(
   "The date object after converting to string using the toString() method: " +
   date_String
);
// Use the toISOString() method
date_String = current_date.toISOString();
console.log(
   "The date object after converting to string using the toISOString() method: " +
   date_String
);

编译后,它将生成以下 JavaScript 代码:

var current_date = new Date();
// Use the toString() method
var date_String = current_date.toString();
console.log("The date object after converting to string using the toString() method: " +
   date_String);
// Use the toISOString() method
date_String = current_date.toISOString();
console.log("The date object after converting to string using the toISOString() method: " +
   date_String);

输出

以上代码将产生以下输出:

The date object after converting to string using the toString() method: Wed Dec 14 2022 10:45:11 GMT+0000 (UTC)
The date object after converting to string using the toISOString() method: 2022-12-14T10:45:11.874Z

自定义函数将 Date 对象转换为字符串

创建自定义函数的方法是使用特定的方法分别从日期对象中获取年份、月份、日期、小时、分钟和秒,并从中创建一个格式化的字符串。在 TypeScript 中,我们可以使用 + 运算符或字符串字面量(${})来格式化字符串。

语法

用户可以按照以下语法创建自定义日期字符串。

let date_String: string =
   date_Object.getFullYear() +
   "/" +
   (date_Object.getMonth() + 1) +
   "/" +
   +date_Object.getDate() +
   " " +
   +date_Object.getHours() +
   ":" +
   +date_Object.getMinutes();

在上述语法中,我们展示了如何通过将年份、月份、日期等分别连接到字符串来创建自定义日期字符串。

示例

在下面的示例中,我们创建了一个名为 date_To_String 的函数,它创建并返回自定义日期字符串,就像我们在上面语法中展示的那样。

function date_TO_String(date_Object: Date): string {
  // get the year, month, date, hours, and minutes seprately and append to the string.
  let date_String: string =
    date_Object.getFullYear() +
    "/" +
    (date_Object.getMonth() + 1) +
    "/" +
    +date_Object.getDate() +
    " " +
    +date_Object.getHours() +
    ":" +
    +date_Object.getMinutes();
  return date_String;
}

let new_date: Date = new Date();
// calling the date_TO_String function
let date_string = date_TO_String(new_date);
console.log("The date string is " + date_string);

编译后,它将生成以下 JavaScript 代码:

function date_TO_String(date_Object) {
   // get the year, month, date, hours, and minutes seprately and append to the string.
   var date_String = date_Object.getFullYear() +
      "/" +
      (date_Object.getMonth() + 1) +
      "/" +
      +date_Object.getDate() +
      " " +
      +date_Object.getHours() +
      ":" +
      +date_Object.getMinutes();
   return date_String;
}
var new_date = new Date();
// calling the date_TO_String function
var date_string = date_TO_String(new_date);
console.log("The date string is " + date_string);

输出

以上代码将产生以下输出:

The date string is 2022/12/14 10:47

本教程向我们介绍了三种将 Date 对象转换为所需字符串格式的不同方法。在本教程的前两部分中,我们使用了 Date 类的不同方法,这些方法不允许我们完全灵活地格式化日期字符串。我们可以使用上面学习的自定义函数根据我们的要求格式化日期字符串。

更新于: 2023年10月31日

65K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.