JS 格式化时间日期函数小结
在编写 web 应用程序或者其他应用程序时,日期和时间往往是非常重要的元素。而 JS 提供了许多内置的函数和方法来操作日期和时间,这里提供一些受欢迎的方法,同时会介绍如何使用它们来格式化日期和时间。
定义日期对象
在使用 JS 处理日期和时间时,通常使用内置的 Date
对象。我们可通过以下方式创建一个日期对象:
const currentTime = new Date();
如果需要指定具体的日期时间,可使用以下方法:
const specificTime = new Date('2022-01-01T00:00:00');
或者使用以下方法:
const specificTime = new Date(2022, 0, 1, 0, 0, 0);
这里传入的几个参数依次代表:年、月、日、时、分、秒。
格式化日期时间
toLocaleDateString()
toLocaleDateString()
方法返回日期的本地化字符串。
const date = new Date();
const options = { year: 'numeric', month: 'long', day: 'numeric' };
const formattedDate = date.toLocaleDateString('zh-CN', options);
console.log(formattedDate); // 2022年1月1日
上述示例中,我们定义了一个包含选项的对象。我们使用了 zh-CN
选项作为本地化字符串,表示该日期应该以中文表达。
toLocaleTimeString()
toLocaleTimeString()
方法返回本地时间的字符串表示。
const date = new Date();
const formattedTime = date.toLocaleTimeString('en-US');
console.log(formattedTime); // 1:30:00 AM
上述示例中,我们定义了一个 en-US
选项来表示该时间应该以英文表达。
toLocaleString()
toLocaleString()
方法返回本地化后的日期和时间的字符串表示。
const date = new Date();
const formattedDateTime = date.toLocaleString('en-US');
console.log(formattedDateTime); // 1/1/2022, 1:30:00 AM
上述示例中,我们使用了 en-US
选项来表示该日期和时间应该以英文表达。
Intl.DateTimeFormat()
实际上,以上三种方法的核心思想是相似的。 Intl.DateTimeFormat()
方法可以接受一个用于指定语言、格式和选项的对象。
const date = new Date();
const formatter = new Intl.DateTimeFormat('zh-CN', {
year: 'numeric',
month: 'long',
day: 'numeric',
hour: 'numeric',
minute: 'numeric',
second: 'numeric',
});
const formattedDateTime = formatter.format(date);
console.log(formattedDateTime); // 2022年1月1日 上午12:00:00
上述示例中,我们定义了一个新的 Intl.DateTimeFormat()
对象,该对象使用了 zh-CN
选项,以便本地化时间字符串。该对象看起来更复杂,但使用方法与上述三种方法的格式相似。
时间戳转日期时间
JS 中的时间戳是一个数字,代表自 1970 年 1 月 1 日 00:00:00 UTC(格林威治标准时间)以来所经过的毫秒数。可以将此数字转换为实际的日期和时间字符串。
使用 Date()
我们可以使用 Date()
构造函数将时间戳转换为日期和时间。
const timestamp = 1640995200000; // 2022/1/1 0:00:00 的时间戳
const formattedDateTime = new Date(timestamp).toLocaleString('zh-CN');
console.log(formattedDateTime); // 2022年1月1日 上午12:00:00
使用 Moment.js
Moment.js 是一个流行的 JS 库,可用来处理日期和时间。可以使用 Moment.js 将时间戳转换为实际日期和时间的格式化字符串。
const timestamp = 1640995200000; // 2022/1/1 0:00:00 的时间戳
const formattedDateTime = moment(timestamp).format('YYYY-MM-DD HH:mm:ss');
console.log(formattedDateTime); // 2022-01-01 00:00:00
上述示例中,我们使用了 moment()
方法将时间戳转换为 Moment.js 对象。我们使用了 format()
方法,将该对象格式化为指定的日期时间字符串格式。
结论
上述方法只是日期时间处理的基础,还有其他的常用方法可以用来处理日期和时间,例如 getTime()
方法返回一个日期对象的时间戳,getFullYear()
方法返回当前日期的年份等等。在设计一个日期时间格式化函数时,需要考虑应用场景来选择适当的方法和格式化选项。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 格式化时间日期函数小结 - Python技术站