JavaScript内置对象(四):Date时间

JavaScript内置对象(四):Date时间

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秒
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值