JavaScript内置对象(一):Array数组
JavaScript内置对象(二):String字符串
JavaScript内置对象(三):Math算数
Date时间
对于Date的使用多是显示时间,也就是格式化数据。
之前学习node的时候使用过Moment.js,一个JavaScript 日期处理类库,挺方便的
链接在此
方法
new Date()
=》Sat Nov 14 2020 14:02:33 GMT+0800 (中国标准时间)
我们可以根据他的内置方法将时间格式化,组合成我们想要的时间格式
先看下他有几种哪些常用的方法:
1、getFullYear()
获取年份 =》2020
写法:new Date().getFullYear()
2、getMonth()
获取月份 =》10
取值[0-11],就是说10表示的是11月
写法:new Date().getMonth()
3、getDate()
获取该月的第几天 =》14
取值[1-31]
写法:new Date().getDate()
4、getDay()
获取该星期的第几天 =》6
取值[0-6],这里因为国外的一星期是从星期日到星期六的,所以6表示的是这星期的最后一天星期六
写法:new Date().getDay()
5、getHours()
获取小时 =》15
取值[0-23]
写法:new Date().getHours()
6、getMinutes()
获取分钟 =》48
取值[0-59]
写法:new Date().getMinutes()
7、getSeconds()
获取秒数 =》24
取值[0-59]
写法:new Date().getSeconds()
8、getTime()
获取从1970年1月1日00时00分00秒开始到当前时间的毫秒数 =》1605340104900
写法:new Date().getTime()
使用
使用固定格式格式化(列举几个经常使用到的时间格式)
格式一
2020年11月14日星期六 15:57:45
function getToday(today){
var weeks=["日","一","二","三","四","五","六"];
var year=today.getFullYear(),
month=today.getMonth()+1,
date=today.getDate(),
week=today.getDay(),
hours=today.getHours(),
minutes=today.getMinutes(),
seconds=today.getSeconds();
var Hours=hours < 10 ? "0" + hours : hours;
var Minutes=minutes < 10 ? "0" + minutes : minutes;
var Seconds=seconds < 10 ? "0" + seconds : seconds;
return year + "年" + month + "月" + date + "日星期" + weeks[week] + " " + Hours + ":" + Minutes + ":" + Seconds;
}
var day = new Date();
var today = getToday(day);
document.write(newToday); // 2020年11月14日星期六 15:57:45
格式二
2020-11-16 10:54:52
function getToday(today){
var year = today.getFullYear(),
month = today.getMonth() + 1,
date = today.getDate(),
hours = today.getHours(),
minutes = today.getMinutes(),
seconds = today.getSeconds();
var Hours = hours < 10 ? '0' + hours : hours;
var Minutes = minutes < 10 ? '0' + minutes : minutes;
var Seconds = seconds < 10 ? '0' + seconds : seconds;
return ([year, month, date].join('-') + ' ' + [Hours, Minutes, Seconds].join(':'));
}
var day = new Date();
var today = getToday(day);
document.write(newToday); // 2020-11-16 10:54:52
格式三
自定义时间格式
yyyy表示四位数的年份,MM表示月份,dd表示天数,hh表示24小时制的小时数,HH表示12小时制的小时数,mm表示分钟数,ss表示秒数,n表示AM或者PM
function getToday(today, format) {
var time = {
'M+': today.getMonth() + 1,
'd+': today.getDate(),
'h+': today.getHours(),
'H+': today.getHours() > 12 ? today.getHours() - 12 : today.getHours(),
'm+': today.getMinutes(),
's+': today.getSeconds(),
n: today.getHours() > 12 ? 'PM' : 'AM',
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (today.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in time) {
if (new RegExp('(' + k + ')').test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? time[k] : ('00' + time[k]).substr(('' + time[k]).length));
}
}
return format;
}
var day = new Date();
console.log(getToday(day, 'yyyy-MM-dd HH:mm:ss n')); // 2020-11-18 05:26:04 PM
console.log(getToday(day, 'yyyy-MM-dd hh:mm:ss')); // 2020-11-18 17:41:43
console.log(getToday(day, 'MM月dd日 hh时mm分ss秒')); // 11月18日 17时41分43秒