JavaScript之Date对象

Date对象

JS提供了一个Date构造函数,通过new Date() 可以获取到一个Date对象

  • 创建一个日期对象
//不传参,获取一个当前时间的对象
var now = new Date();//Wed Oct 23 2019 16:05:34 GMT+0800 (中国标准时间)

//(格式固定)指定具体的时间对象,后面的时分秒可以省略
var date = new Date("2019-05-20 12:00:00");//Mon May 20 2019 12:00:00 GMT+0800 (中国标准时间)

//不常用的方式
//可以把每一个项分别传入,但是注意月份从0开始的,0~11
var date = new Date(2019,4,20,12,0,0);
// 直接传入时间戳也行
var date = new Date(1558324800000);
  • 日期格式化
var now = new Date()// 默认直接打印now对象,会默认调用toString方法,打印结果是一个字符串
console.log(now);//Wed Oct 23 2019 16:19:07 GMT+0800 (中国标准时间)

// 转成标准的字符串日期数据输出(默认)
console.log(now.toString());//Wed Oct 23 2019 16:19:07 GMT+0800 (中国标准时间)

 // 输出本地格式日期
console.log(now.toLocaleString());//2019/10/23 下午4:19:07

// 本地格式日期,只输出日期部分
console.log(now.toLocaleDateString());//2019/10/23

// 本地格式日期,只输出时间部分
console.log(now.toLocaleTimeString());//下午4:19:07
  • 获取日期的指定部分

之前默认的日期格式化格式很丑,一般不用,通过获取日期的指定部分,可以自定义格式化日期

var now = new Date(); // 当前时间

// 获取年份
var year = now.getFullYear();

// 获取月份——》月份从0开始,范围是0~11,一般会+1
var month = now.getMonth() + 1;

// 获取日——》一个月的几号
// 注意不是getDay!!!——》getDay表示获取星期几(从0开始,0表示周日,1表示周一)
var day = now.getDate();

// 获取时
var hours = now.getHours();

// 获取分
var minutes = now.getMinutes();

// 获取秒
var seconds = now.getSeconds();

var str = year + '年' + month + '月' + day + '日, ' + hours + '时' + minutes + '分' + seconds + '秒';

console.log(str);//2019年10月23日, 16时26分39秒
  • 时间戳

时间戳: 表示距离1970年01月01日00时00分00秒起,过去的总毫秒数,可以运算

作用: 用来计算时间差

//两种方式都可以获取到时间戳
var date = +new Date();
var date = Date.now();

举例一:统计代码执行的时间

// 获取开始的时间
var begin = +new Date(); 
var sum = 0;
for (var i = 1; i <= 100000000; i++) {
    sum += i;
}
console.log(sum);
// 获取结束的时间
var end = +new Date();  
console.log(end - begin);  // 计算时间差,可以得出代码的执行时间毫秒数

举例二:倒计时

var now = new Date();

// 将来需要倒计时的时间
var future = new Date('2020-01-01 00:00:00');

// 得到时间差——》转换成秒数(小数后忽略)
var time = parseInt((future - now) / 1000);

// 获取天数 ——》总的小时数/一天的小时数
var day = parseInt(time / 3600 / 24);

// 秒数中获取时——》1小时=3600秒,对一天24小时求余
var hours = parseInt(time / 3600 % 24);

// 秒数中获取分——》1分钟=60秒, 对所有的分钟数, 对60求余数即可(超过60的进位到小时中了)
var minutes = parseInt(time / 60) % 60;

// 获取秒数,对秒数求60的余数(超过60的部分进位到分钟去了)
var seconds = time % 60;

var str = "距离2020年还有: " + day + '天' + hours + '小时' + minutes + '分钟' + seconds + '秒';

console.log(str);//距离2020年还有: 69天7小时17分钟41秒
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值