JavaScript-日期对象

日期对象

new Date()—创建日期(一)

var d = new Date();  // 创建一个日期格式
console.log(d);   // Fri Jun 12 2020 14:26:35 GMT+0800 (中国标准时间)

new Date(年,月,日,时,分,秒)—创建日期(二)

var d = new Date(2019,10,22,15,32,12);  // 创建一个日期格式
console.log(d);   // Fri Nov 22 2019 15:32:12 GMT+0800 (中国标准时间)

new Date(“年-月-日 时:分:秒”)—创建日期(三)

var d = new Date(2019-10-22 15:32:12);  // 创建一个日期格式
console.log(d);   // Tue Oct 22 2019 15:32:12 GMT+0800 (中国标准时间)

new Date(毫秒数)—创建日期(四)

var d = new Date(1523546461213);  // 创建一个日期格式
console.log(d);   // Thu Apr 12 2018 23:21:01 GMT+0800 (中国标准时间)

toLocaleString()—转换为本地日期格式

var d = new Date();  // 创建一个日期格式
console.log(d.toLocaleString());  // 2020/6/12 下午2:29:05

new Date() - new Date()—相减得到时间差,单位毫秒

var nowD = new Date();  // 获取当前日期(都是电脑的)
var weiD = new Date("2020-10-01");
var cD = weiD - nowD;
console.log(cD);    // 9560143958 ms(毫秒)

综合案例—动态显示日期

  • 动态显示日期,每隔一秒刷新当前时间
// html 内容
<div id="date"></div>
// js 内容
setInterval(function() {
	var d = new Date(); // 创建一个日期对象
	date.innerHTML = d.toLocaleString(); 
	// 日期转换为本地字符串
	// innerHTML 设置id为date的div的内容
},1000)
// 每隔1000毫秒,也就是1秒,刷新一次

getFullYear()—获取年份

var d = new Date()  // 创建时间对象
var y = d.getFullYear();  // 获取年份

getMonth() + 1—获取月份

  • 因为月份是从0-11的所以需要+1
var d = new Date()  // 创建时间对象
var m = d.getMonth() + 1;  // 获取当前月份

getDate()—获取日期

var d = new Date()  // 创建时间对象
var D = d.getDate();  // 获取日期

getHours()—获取小时

var d = new Date()  // 创建时间对象
var h = d.getHours();  // 获取小时

getMinutes()—获取分钟

var d = new Date()  // 创建时间对象
var f = d.getMinutes();  // 获取分钟

getSeconds()—获取秒

var d = new Date()  // 创建时间对象
var s = d.getSeconds();  // 获取秒

getTime()—返回1970.01.01到现在的时间的毫秒数

var d = new Date(2019,10,22,15,32,12)  // 创建时间对象
var s = d.getTime();  // 1571729532000 ---2019年10月22日15时32分12秒-1970.01.01 的毫秒数

自定义—格式化时间

console.log(`${y}年${m}月${D}日 ${h}时${f}分${s}秒`)  // 2020年6月10日 14时22分32秒

综合案例—倒计时

// html 内容
<div id="dates"></div>
// 从现在到10.1 倒计时多长时间  js部分
function countDown(time) {
	var nowD = new Date()  // 当前时间
	var fuD = new Date(time);  // 获取传来的参数
	var dis = fuD - nowD;   
	if(dis <= 0) {
		date.innerHTML = "倒计时结束";
		return;    // 判断秒数,如果秒数归零,则函数停止,不在倒计时
	}
	var second = Math.floor(dis / 1000); // 相差时间的秒数
	var day = Math.floor(second /( 60 * 60 * 24)); // 相差的天数
		second %= (60 * 60 * 24);  // 除去天数的秒数,得到小时,与分钟的秒数
	var hour = Math.floor(second / (60 * 60));  // 获取相差的小时数
		second %= (60 * 60);  // 再除去相差的小时数,得到分钟数的秒数
	var minute = Math.floor(second / 60)  // 获取相差的分钟数
		second %= 60;  // 除去分钟数,得到秒
		 // 打印
		 console.log(day,hour,minute,second);
		 hour = pre(hour);
		 minute = pre(minute);
		 second = pre(second);
		 var str = `${day}天${hour}:${minute}:${second}`;
		dates.innerHTML = str;
		setTimeout(function() {
			countDown(time)  // 调用自己每隔一秒
		},1000);
}
countDowm("2020-10-01");
// 数据小于0时自动补零
function pre(n) {
	return n =  n > 9 ?  n : "0" + n;
}	 
// 数据小于0时自动补零
function pre(n) {
	return n =  n > 9 ?  n : "0" + n;
}	 

猜你喜欢

转载自blog.csdn.net/qq_34182705/article/details/106721289