JavaScript获取当前日期
在Web开发中,经常需要获取当前日期来进行一些操作,比如显示当前日期时间、计算日期差等。JavaScript提供了一些内置对象和方法来获取当前日期,本文将详细介绍如何使用JavaScript获取当前日期。
1. 获取当前日期
1.1 使用Date对象获取当前日期
JavaScript中的Date对象可以获取当前日期和时间。我们可以使用Date对象的构造函数来创建一个表示当前日期时间的对象。
示例代码如下:
const currentDate = new Date();
console.log(currentDate);
1.2 获取当前日期的年、月、日
除了获取完整的日期时间外,我们还可以通过Date对象的方法来获取当前日期的年、月、日等信息。
示例代码如下:
const currentDate = new Date();
const year = currentDate.getFullYear();
const month = currentDate.getMonth() + 1; // 月份从0开始,需要加1
const day = currentDate.getDate();
console.log(`当前日期:{year}-{month}-${day}`);
Output:
2. 格式化当前日期
2.1 格式化日期为指定格式
有时候我们需要将日期格式化为指定的格式,比如”YYYY-MM-DD”。可以使用Date对象的方法来实现日期格式化。
示例代码如下:
const currentDate = new Date();
const year = currentDate.getFullYear();
const month = currentDate.getMonth() + 1;
const day = currentDate.getDate();
const formattedDate = `{year}-{month < 10 ? '0' + month : month}-{day<10 ? '0' + day : day}`;
console.log(`格式化后的日期:{formattedDate}`);
Output:
2.2 格式化日期时间为指定格式
除了日期,有时候我们还需要格式化日期时间为指定的格式,比如”YYYY-MM-DD HH:mm:ss”。可以使用Date对象的方法来实现日期时间格式化。
示例代码如下:
const currentDate = new Date();
const year = currentDate.getFullYear();
const month = currentDate.getMonth() + 1;
const day = currentDate.getDate();
const hours = currentDate.getHours();
const minutes = currentDate.getMinutes();
const seconds = currentDate.getSeconds();
const formattedDateTime = `{year}-{month < 10 ? '0' + month : month}-{day<10 ? '0' + day : day}{hours}:{minutes}:{seconds}`;
console.log(`格式化后的日期时间:${formattedDateTime}`);
Output:
3. 获取当前日期的时间戳
3.1 获取当前日期的时间戳
时间戳是指从1970年1月1日至今的毫秒数,可以使用Date对象的getTime()方法来获取当前日期的时间戳。
示例代码如下:
const currentDate = new Date();
const timestamp = currentDate.getTime();
console.log(`当前日期的时间戳:${timestamp}`);
Output:
3.2 将时间戳转换为日期
除了获取当前日期的时间戳,有时候我们也需要将时间戳转换为日期。可以使用Date对象的构造函数来实现时间戳转换为日期。
示例代码如下:
const timestamp = 1638334200000;
const date = new Date(timestamp);
console.log(`时间戳转换后的日期:${date}`);
Output:
4. 计算日期差
有时候我们需要计算两个日期之间的差值,比如计算两个日期相差的天数。可以使用Date对象的方法来计算日期差。
4.1 计算两个日期相差的天数
示例代码如下:
const date1 = new Date('2021-12-01');
const date2 = new Date('2021-12-10');
const diffTime = Math.abs(date2 - date1);
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
console.log(`两个日期相差的天数:${diffDays}`);
Output:
4.2 计算两个日期相差的小时数
示例代码如下:
const date1 = new Date('2021-12-01 12:00:00');
const date2 = new Date('2021-12-01 18:00:00');
const diffTime = Math.abs(date2 - date1);
const diffHours = Math.ceil(diffTime / (1000 * 60 * 60));
console.log(`两个日期相差的小时数:${diffHours}`);
Output:
5. 获取当前日期的周几
有时候我们需要获取当前日期是星期几,可以使用Date对象的方法来获取当前日期的周几。
示例代码如下:
const currentDate = new Date();
const weekDay = currentDate.getDay();
const weekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
console.log(`当前日期是星期${weekDays[weekDay]}`);
Output:
6. 获取当前日期的月份天数
有时候我们需要获取当前日期所在月份的天数,可以使用Date对象的方法来获取当前日期的月份天数。
示例代码如下:
const currentDate = new Date();
const year = currentDate.getFullYear();
const month = currentDate.getMonth() + 1;
const daysInMonth = new Date(year, month, 0).getDate();
console.log(`当前日期所在月份的天数:${daysInMonth}`);
Output:
7. 获取当前日期的季度
有时候我们需要获取当前日期所在的季度,可以使用Date对象的方法来获取当前日期的季度。
示例代码如下:
const currentDate = new Date();
const month = currentDate.getMonth() + 1;
const quarter = Math.ceil(month / 3);
console.log(`当前日期所在季度:${quarter}`);
Output:
8. 获取当前日期的年份周数
有时候我们需要获取当前日期所在年份的周数,可以使用Date对象的方法来获取当前日期的年份周数。
示例代码如下:
const currentDate = new Date();
const year = currentDate.getFullYear();
const firstDayOfYear = new Date(year, 0, 1);
const daysPassed = Math.ceil((currentDate - firstDayOfYear) / (1000 * 60 * 60 * 24));
const weekNumber = Math.ceil((daysPassed + firstDayOfYear.getDay() + 1) / 7);
console.log(`当前日期所在年份的周数:${weekNumber}`);
Output:
9. 获取当前日期的下一个月份
有时候我们需要获取当前日期的下一个月份,可以使用Date对象的方法来实现。
示例代码如下:
const currentDate = new Date();
const nextMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1);
console.log(`当前日期的下一个月份:${nextMonth}`);
Output:
10.获取当前日期的上一个月份
类似地,我们也可以获取当前日期的上一个月份。
示例代码如下:
const currentDate = new Date();
const prevMonth = new Date(currentDate.getFullYear(), currentDate.getMonth() - 1);
console.log(`当前日期的上一个月份:${prevMonth}`);
Output:
11.判断当前年份是否为闰年
有时候我们需要判断当前年份是否为闰年,可以使用Date对象的方法来判断。
示例代码如下:
const currentDate = new Date();
const year = currentDate.getFullYear();
const isLeapYear = (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
console.log(`当前年份是否为闰年:${isLeapYear}`);
Output:
12.获取当前日期的ISO格式
ISO格式的日期时间字符串是一种标准的日期时间表示方法,可以使用Date对象的方法来获取当前日期的ISO格式。
示例代码如下:
const currentDate = new Date();
const isoDate = currentDate.toISOString();
console.log(`当前日期的ISO格式:${isoDate}`);
Output:
13.获取当前日期的UTC格式
UTC格式的日期时间字符串是一种标准的日期时间表示方法,可以使用Date对象的方法来获取当前日期的UTC格式。
示例代码如下:
const currentDate = new Date();
const utcDate = currentDate.toUTCString();
console.log(`当前日期的UTC格式:${utcDate}`);
Output:
14.获取当前日期的本地时间格式
本地时间格式是指根据当前时区显示的日期时间格式,可以使用Date对象的方法来获取当前日期的本地时间格式。
示例代码如下:
const currentDate = new Date();
const localDate = currentDate.toLocaleString();
console.log(`当前日期的本地时间格式:${localDate}`);
Output:
15.获取当前日期的本地日期格式
本地日期格式是指根据当前时区显示的日期格式,可以使用Date对象的方法来获取当前日期的本地日期格式。
示例代码如下:
const currentDate = new Date();
const localDate = currentDate.toLocaleDateString();
console.log(`当前日期的本地日期格式:${localDate}`);
Output:
16.获取当前日期的本地时间格式
本地时间格式是指根据当前时区显示的时间格式,可以使用Date对象的方法来获取当前日期的本地时间格式。
示例代码如下:
const currentDate = new Date();
const localTime = currentDate.toLocaleTimeString();
console.log(`当前日期的本地时间格式:${localTime}`);
Output:
17.获取当前日期的格式化字符串
有时候我们需要将日期格式化为自定义的字符串格式,可以使用Date对象的方法来实现。
示例代码如下:
const currentDate = new Date();
const formattedDate = currentDate.toLocaleString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' });
console.log(`当前日期的格式化字符串:${formattedDate}`);
Output:
18.获取当前日期的时间戳字符串
有时候我们需要将日期的时间戳转换为字符串格式,可以使用Date对象的方法来实现。
示例代码如下:
const currentDate = new Date();
const timestamp = currentDate.getTime().toString();
console.log(`当前日期的时间戳字符串:${timestamp}`);
Output:
19.获取当前日期的JSON格式
有时候我们需要将日期转换为JSON格式,可以使用Date对象的方法来实现。
示例代码如下:
const currentDate = new Date();
const jsonDate = currentDate.toJSON();
console.log(`当前日期的JSON格式:${jsonDate}`);
Output:
20.获取当前日期的字符串表示
有时候我们需要将日期转换为字符串表示,可以使用Date对象的toString()方法来实现。
示例代码如下:
const currentDate = new Date();
const dateString = currentDate.toString();
console.log(`当前日期的字符串表示:${dateString}`);
Output: