JS日期相关函数总结分享
简介
日期在前端开发中非常常见,JavaScript原生提供了许多日期相关的函数,本文将会总结下这些相关函数。
获取Date对象
获取Date对象可以使用以下几个方式:
new Date()
使用new Date()
方式获取Date对象,可以获取当前日期时间。
const now = new Date(); // 获取当前日期
console.log(now); // 输出当前日期时间
new Date('2019-07-01')
可以通过传递字符串的方式,获取指定日期时间的Date对象。
const date = new Date('2019-07-01'); // 获取 2019年7月1日 的Date对象
console.log(date); // 输出 2019年7月1日
new Date(2019, 6, 1)
可以通过传递整数的方式,获取指定日期时间的Date对象。需要注意的是,月份从0开始,所以7月实际上是6。
const date = new Date(2019, 6, 1); // 获取 2019年7月1日 的Date对象
console.log(date); // 输出 2019年7月1日
获取日期信息
获取Date对象的相关信息可以使用以下函数:
getFullYear()
获取年份。
const now = new Date();
const year = now.getFullYear();
console.log(year); // 输出当前年份
getMonth()
获取月份,月份从0开始,所以1月实际上是0。
const now = new Date();
const month = now.getMonth();
console.log(month); // 输出当前月份
getDate()
获取月份中的日期。
const now = new Date();
const date = now.getDate();
console.log(date); // 输出当前日期
getDay()
获取星期几,其中0为星期日,1为星期一,以此类推。
const now = new Date();
const day = now.getDay();
console.log(day); // 输出当前星期几
getHours()
获取小时数。
const now = new Date();
const hours = now.getHours();
console.log(hours); // 输出当前小时数
getMinutes()
获取分钟数。
const now = new Date();
const minutes = now.getMinutes();
console.log(minutes); // 输出当前分钟数
getSeconds()
获取秒数。
const now = new Date();
const seconds = now.getSeconds();
console.log(seconds); // 输出当前秒数
getMilliseconds()
获取毫秒数。
const now = new Date();
const milliseconds = now.getMilliseconds();
console.log(milliseconds); // 输出当前毫秒数
日期格式化
日期格式化可以使用以下两个函数:
toDateString()
将Date对象转换为字符串形式的日期。
const now = new Date();
const dateString = now.toDateString();
console.log(dateString); // 输出当前日期,如 Mon Sep 13 2021
toJSON()
将Date对象转换为JSON格式的日期。
const now = new Date();
const json = now.toJSON();
console.log(json); // 输出 JSON 格式日期,如 2021-09-13T13:12:05.658Z
示例
计算两个日期之间的天数差
function calcDaysBetween(date1, date2) {
const ONE_DAY = 1000 * 60 * 60 * 24; // 一天含有的毫秒数
const days = Math.round(Math.abs((date1 - date2) / ONE_DAY));
return days;
}
const date1 = new Date('2022-01-01');
const date2 = new Date('2022-01-20');
const daysBetween = calcDaysBetween(date1, date2);
console.log(daysBetween); // 输出 19
将一个日期格式化为指定格式的字符串
function formatDate(date, format) {
const year = date.getFullYear();
const month = date.getMonth() + 1;
const dateOfMonth = date.getDate();
const hours = date.getHours();
const minutes = date.getMinutes();
const seconds = date.getSeconds();
format = format.replace('yyyy', year);
format = format.replace('MM', month < 10 ? '0' + month : month);
format = format.replace('dd', dateOfMonth < 10 ? '0' + dateOfMonth : dateOfMonth);
format = format.replace('HH', hours < 10 ? '0' + hours : hours);
format = format.replace('mm', minutes < 10 ? '0' + minutes : minutes);
format = format.replace('ss', seconds < 10 ? '0' + seconds : seconds);
return format;
}
const now = new Date();
const formatted = formatDate(now, 'yyyy-MM-dd HH:mm:ss');
console.log(formatted); // 输出当前日期时间,如 2021-09-13 21:56:40
以上就是本文的内容,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js日期相关函数总结分享 - Python技术站