1: 时间戳 timeStamp 获取的几种方法及其优劣, 第一种只能精确到秒, 故不推荐使用, 最最常用的也是最官方的是第三种, 通过原型方法进行调用获取精确到毫秒数 :
var timestamp1 = Date.parse(new Date()); // 结果:1477808630000, 不推荐这种办法,毫秒级别的数值被转化为000
var timestamp2 = (new Date()).valueOf(); // 结果:1477808630404, 通过valueOf()函数返回指定对象的原始值获得准确的时间戳值
var timestamp3 = new Date().getTime(); // 结果:1477808630404,通过原型方法直接获得当前时间的毫秒值,准确
var timetamp4 = Number(new Date()) ; // 结果:1477808630404, 将时间转化为一个number类型的数值,即时间戳
2: 获取非当前时间的时间戳 (如: 2050年11月11日):
var timestamp_now = new Date().getTime(); // 获取到当前精确时间戳毫秒数 var timestamp_2050 = new Date('2050/11/11 00:00:00').getTime(); // 结果:2551708800000, 获取2050年11月11日时间戳, 精确到毫秒
3: 利用时间戳相减得到倒计时总毫秒数:
// 算出中间差并且已毫秒数返回; 除以1000将毫秒数转化成秒数方便运算;
var countDown = (timestamp_2050 - timestamp_now)/1000; // 获取天数 1天 = 24小时 1小时= 60分 1分 = 60秒 var oDay = parseInt(countDown/(24*60*60)); // 获取小时数 // 特别留意 %24 这是因为需要剔除掉整的天数; var oHours = parseInt(countDown/(60*60)%24);
// 获取分钟数 //同理剔除掉分钟数 var oMinutes = parseInt(countDown/60%60); // 获取秒数 // 因为就是秒数 所以取得余数即可 var oSeconds = parseInt(countDown%60); // 下面就是插入到页面事先准备容器即可; var html = "<span>" + p(oDay) + "天</span>"+ "<span>" + p(oHours) + "时</span>" + "<span>" + p(oMinutes) + "分</span>" +"<span>" + p(oSeconds) + "秒</span>"; document.write(html); //别忘记当时间为0的,要让其知道结束了; if(countDown < 0){ document.write('2050年11月11日, 你脱单了吗? 祝你光棍节快乐!');
}
4: new Date()对象的常见用法, 可以通过new Date() 实例对象上的方法进行获取 年份 月份(月份数从0开始代表1月 11结束代表12月) 日期 小时 分钟 秒 以及相应的 星期几(0开始为星期日) :
// Date() 对象, 获取年月日时分秒, 星期几 // 获取时间对象 => date_tody => Mon May 20 2019 12:05:27 GMT+0800 (中国标准时间) // 获取年 => date_tody.getFullYear() // 获取月 => date_tody.getMonth() => 需要 +1 才是真正月份 // 获取日 => date_tody.getDate() // 获取时 => date_tody.getHours() // 获取分 => date_tody.getMinutes() // 获取秒 => date_tody.getSeconds() // 获取星期几 => date_tody.getDay() => 0(星期日) 1(星期一) 2(星期二) 3(星期三) 4(星期四) 5(星期五) 6(星期六)
喜欢的话记得点个赞, 何少在此谢过!