当你在开发网络应用程序时,你可能需要包括执行某个特定操作的当前日期。
例如,当通过表单提交数据时,你可能想包括数据的创建日期或表单的提交时间。
在这篇文章中,我们将学习如何用JavaScript从头开始轻松获得当前日期(今天的日期)。我们还将学习如何用一个外部库,如Moment.js,一个流行的JavaScript日期库,来完成这个任务。
只需注意--一般来说,不建议使用外部库进行这样的操作。但是如果你的项目中已经安装了一个库,或者你在你的应用程序中使用它进行其他操作,你可以使用它。
如何在JavaScript中获取当前日期
在JavaScript中,我们可以通过使用new Date() 对象轻松获得当前日期或时间。默认情况下,它使用我们浏览器的时区,并将日期显示为一个完整的文本字符串,如 "Fri Jun 17 2022 10:54:59 GMT+0100 (British Summer Time)",其中包含当前日期、时间和时区。
const date = new Date();
console.log(date); // Fri Jun 17 2022 11:27:28 GMT+0100 (British Summer Time)
让我们看看我们如何从这个长字符串中只提取日期。我们将通过使用一些对日期对象进行操作的JavaScript方法,使其更容易被用户阅读和理解。
如何使用JavaScript的日期方法
日期对象支持许多日期方法,但在本文中,我们只需要当前的日期,因此将只使用三种方法:
getFullYear()- 我们将使用这个方法来获得四位数的年份(yyyy),例如2022年。getMonth()- 这个方法得到的月份是一个数字(0-11),例如3月是2,因为它是一个基于零的指数(意味着它从0开始)。getDate()- 获得日期的数字(1-31)。
现在让我们根据我们希望日期出现的格式,把所有这些放在一起。
const date = new Date();
let day = date.getDate();
let month = date.getMonth() + 1;
let year = date.getFullYear();
// This arrangement can be altered based on how we want the date's format to appear.
let currentDate = `${day}-${month}-${year}`;
console.log(currentDate); // "17-6-2022"
注意:我们在date.getMonth()'s的值上加了一个,因为它是0-based indexing。假设我们不想在我们的日期值之间使用破折号(-),我们所要做的就是用我们喜欢的方式替换破折号。
如何使用toJSON()方法
我们刚刚看到了如何使用日期方法来获取当前日期。现在让我们看看如何使用toJSON() 方法,除了时间格式hh:mm:ss.ms ,它还会以yyyy-mm-dd 的格式返回我们的日期:
let date = new Date().toJSON();
console.log(date); // 2022-06-17T11:06:50.369Z
由于我们只想要当前的日期,我们可以这样使用slice() 方法来获得前10个字符:
let currentDate = new Date().toJSON().slice(0, 10);
console.log(currentDate); // "2022-06-17"
如何使用toLocaleDateString()
这是另一个简单的方法,它使用本地惯例将日期对象返回为一个字符串。例如,不同语言的日期格式是不同的,这个方法接受一个参数来纠正这个问题。
让我们从传递一个参数开始:
let date = new Date().toLocaleDateString();
console.log(date); // 6/17/2022
假设我们想要德国的时间:
let date = new Date().toLocaleDateString("de-DE");
console.log(date); // 17.6.2022
注意:我们可以在这里得到一个所有地区代码的列表。
如何使用Moment.js
Moment.js是每个人都可以使用的最流行的日期包之一,我们也可以用它来获取当前日期。
只要你在你的项目中安装了Moment.js,你所需要做的就是按如下方式获得当前日期:
var date = moment();
var currentDate = date.format('D/MM/YYYY');
console.log(currentDate); // "17/06/2022"
我们还可以根据我们希望日期的格式出现的方式来操作它。
总结
在这篇文章中,我们了解了单独使用JavaScript或使用外部JavaScript库来获取当前日期的各种方法。
你可以在这里阅读更多关于如何轻松格式化日期的信息。