要在JavaScript中格式化日期时间型数据,可以使用Date对象自带的方法,也可以使用第三方库如Moment.js。下面将分别介绍这两种方法的使用。
使用Date对象自带的方法
使用Date对象自带的方法可以方便地获取当前的日期时间或指定日期时间的格式化值。以下是一些常用的Date对象方法及其返回值:
Date.getFullYear()
获取指定日期的年份。例如:
const date = new Date('2021-07-15T01:23:45');
const year = date.getFullYear();
console.log(year); // 2021
Date.getMonth()
获取指定日期的月份,注意返回值从0开始计数(0表示1月,1表示2月,以此类推)。例如:
const date = new Date('2021-07-15T01:23:45');
const month = date.getMonth(); // 6,表示7月份
console.log(month);
Date.getDate()
获取指定日期的日期部分,即几号。例如:
const date = new Date('2021-07-15T01:23:45');
const day = date.getDate(); // 15
console.log(day);
Date.getHours()
获取指定日期的小时数。例如:
const date = new Date('2021-07-15T01:23:45');
const hour = date.getHours(); // 1
console.log(hour);
Date.getMinutes()
获取指定日期的分钟数。例如:
const date = new Date('2021-07-15T01:23:45');
const minute = date.getMinutes(); // 23
console.log(minute);
Date.getSeconds()
获取指定日期的秒数。例如:
const date = new Date('2021-07-15T01:23:45');
const second = date.getSeconds(); // 45
console.log(second);
如果要获取当前的日期时间,只需要创建一个空的Date对象即可:
const now = new Date();
console.log(now.getFullYear()); // 当前年份
console.log(now.getMonth()); // 当前月份
console.log(now.getDate()); // 当前几号
console.log(now.getHours()); // 当前小时数
console.log(now.getMinutes()); // 当前分钟数
console.log(now.getSeconds()); // 当前秒数
构建自定义格式化字符串
如果需要将以上的各个部分组合成一个完整的日期时间格式化字符串,可以使用字符串模板或者正则表达式。以下是一个实现将Date对象转换成自定义格式化字符串的示例代码:
function formatDate(date, format) {
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
const dateFormat = {
'yyyy': year,
'MM': month.toString().padStart(2, '0'),
'dd': day.toString().padStart(2, '0'),
'HH': hour.toString().padStart(2, '0'),
'mm': minute.toString().padStart(2, '0'),
'ss': second.toString().padStart(2, '0')
};
const regExp = new RegExp(Object.keys(dateFormat).join('|'), 'g');
return format.replace(regExp, match => dateFormat[match]);
}
该函数接收一个Date对象和一个格式化字符串,返回格式化后的日期时间字符串。使用示例如下:
const date = new Date('2021-07-15T01:23:45');
console.log(formatDate(date, 'yyyy/MM/dd HH:mm:ss')); // "2021/07/15 01:23:45"
console.log(formatDate(date, 'HH:mm:ss')); // "01:23:45"
使用Moment.js库
Moment.js是一个流行的JavaScript日期时间处理库,有着更多的功能和更易用的API。使用Moment.js可以轻松地解析、格式化、计算和操作日期时间。以下是使用Moment.js进行日期时间格式化的示例代码:
首先需要引入Moment.js:
<script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
然后,可以使用moment()函数或moment对象指定一个日期时间,然后使用format()函数指定格式化字符串:
const date = moment('2021-07-15T01:23:45');
console.log(date.format('YYYY/MM/DD HH:mm:ss')); // "2021/07/15 01:23:45"
console.log(date.format('HH:mm:ss')); // "01:23:45"
除了format()函数,Moment.js还提供了很多其他有用的函数,如add()、subtract()、startOf()、endOf()等,可以方便地进行日期时间计算和操作。
以上是JS中格式化日期时间型数据函数代码的完整攻略,希望能对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中格式化日期时间型数据函数代码 - Python技术站