这两天闲着没事,在这感叹一年过得真快,转眼过不了几天,感觉又要过年了,唉~越大一年过得越快哟。然后就想到写一个年倒计时,以记录点滴岁月的飘走,哈哈,本来想着挺简单的,但是写了才发现,它是有一个小坑的,不知大家注意到了没~
实现思路:主要就是用当年的最后一刻减去现在的时间,然后经过换算得到我们需要的数据。
OK,同样的,话不多说,上代码~

var wrap = document.getElementsByClassName("wrap")[0];
function Time(){var date1 = new Date();//写这篇博文的时间是2017.11.02上午10点var year = date1.getFullYear();console.log(date1.getMonth());//10var date2 = new Date(year,11,30,23,59,59);var time = (date2 - date1)/1000;var day = Math.floor(time/(24*60*60));var hour = Math.floor(time%(24*60*60)/(60*60));var minute = Math.floor(time%(24*60*60)%(60*60)/60);var second = Math.floor(time%(24*60*60)%(60*60)%60);var str = year + "年还剩" + day + "天" + hour + "时" + minute + "分" + second + "秒";wrap.innerHTML = str;
}
//放在一秒执行一次的定时器内
setInterval(function(){Time();
},1000);

OK,代码写完了,有没有发现创建日期那里给的月份是11月呢,这时候大家有没有疑惑:一年不是12个月吗?额~反正笨笨的我是纠结了一会,我甚至在想难不成系统啥时候更改了,而且打印出来的月份也是10月,可是现在明明是11月份啊,就在这时候,我想起来了万能的笔记,哈哈哈,然后我去一查才发现,有一个小点我给忘记了。
请看,然后就豁然开朗了~
getFullYear();获取四位数的全年
getMonth();月份0-11,十二月为0(重点在这里重点在这里重点在这里!!!)
getHours();获取小时0-23
getMinutes();获取分钟0-59
getSeconds();获取秒钟0-59
另外JS日期对象需要的注意的点,除了获取月份以外,还有一点是需要注意的,那就是:
getDay()和getDate()的区别
getDay()是获得一个星期中的第几天,星期的获取是从0-6哦,0代表周天,谨记谨记谨记!!!
getDate()是获得一个月中的第几天

好了,最后补充一下,Math.floor()是JS数学对象中的下舍入

例子:
var num1 = Math.floor(4.9);
var num2 = Math.floor(4.1);
if(num1 == num2){console.log("num1,num2处理完之后是相等的,都是4");
}
答案当然是会打印啦~

倒计时效果图:

好嘞,大家学习愉快,拜~

例子---年倒计时/JS日期对象类型相关推荐

  1. js 日期对象 31 号 setMonth 的锅

    前言 需求:获取当前日期的前一个月份 当月有 31 天时,JS 日期对象 setMonth 问题 1. 一般做法 当前日期如果不是 31 号, 是没问题的,是 31 号就会有问题: // 比如今天是 ...

  2. js 日期对象 31 号 setMonth 的锅 1

    前言 需求:获取当前日期的前一个月份 当月有 31 天时,JS 日期对象 setMonth 问题 1. 一般做法 当前日期如果不是 31 号, 是没问题的,是 31 号就会有问题: // 比如今天是 ...

  3. JS 日期对象常用函数(时间常用函数、日期格式化)

    Date 对象属性 属性 描述 constructor 返回对创建此对象的 Date 函数的引用. prototype 使您有能力向对象添加属性和方法. Date 对象方法 方法 描述 getDate ...

  4. js判断对象类型的两种方法

    在js 中 , 有一种判断数据基本类型的方法 typeof , 只能判断5中基本类型:即 "number","string","undefined&q ...

  5. java 获取 yyyymmdd_从JS日期对象获取YYYYMMDD格式的字符串?

    我正在尝试使用JS将date object转换为YYYYMMDD格式的字符串. 有没有比串联Date.getYear() , Date.getMonth()和Date.getDay()更简单的方法? ...

  6. js 日期对象深拷贝

    常用的深拷贝的方法不适用于日期的深拷贝,对于date 类型,需使用下面的方法. 更详细的对象深拷贝方法请参考:https://blog.csdn.net/liwusen/article/details ...

  7. javascript常用开发笔记:一个简单强大的js日期格式化方法

    前言:一直没找到好用的javascript日期格式化工具,自己写了一个,方便以后复用 1.主要功能 (1)支持任意顺序的日期格式排列:yyyy=年,MM=月,dd=日,HH=时,mm=分,ss=秒,s ...

  8. 【前端2】js:原始类型,运算符,调试,页面加载,轮播图,Bom(对象,时钟),Dom(全选全不选,省市级联,隔行/触摸换色,表单校验)

    文章目录 1.js两种引入:js最终要引入到html在浏览器中运行 2.js五大原始类型:undefined 3.js的运算符和流程控制:js不支持单&和单|性能低 4.案例_99乘法表:So ...

  9. js中的对象类型与具体的对象

    js 基础学习地址:http://www.w3school.com.cn/ JS对象类型:本地对象.宿主对象(浏览器对象).内置对象 本地对象:独立于宿主环境的ECMAScript实现提供的对象,简单 ...

最新文章

  1. C#语法:委托与方法
  2. Memcached 学习---(5)set 命令
  3. RequestDispatcher对象的应用-请求包含
  4. s7300plc串口通信_西门子PLC300串口通信协议比较与分析
  5. 学习笔记---Web服务、Remoting、WCF (上) --- Web服务
  6. 计算机系统的软件配置要求高吗,ERP软件对电脑配置有什么要求?
  7. matlab实现图像处理教程,Matlab图像处理入门教程(菜鸟级)
  8. 秦小明 第六讲 投融资,资产运作
  9. 给马云、马化腾订制旅行,这家公司想做旅游行业的“得到”
  10. 基于snipe-it v5.1.2开源资产管理软件二次开发安卓端管理app
  11. 电脑可以连接别的手机热点,唯独连接不上某个手机热点怎么办法?
  12. V-Appstore 9Apps(Android)
  13. 渗透测试-越权漏洞之垂直越权和水平越权
  14. 什么是爬电距离?宽爬电距离光耦为什么越来越受大家青睐?
  15. Firebase使用总结(早期)
  16. 学习写微信小程序(2)
  17. 云服务器适用场景_适用于企业和普通用户的云计算
  18. MyBatis代码生成器Gradle插件分享
  19. Win7 ODBC 数据源ACCESS2003的链接
  20. 数据结构之Hash树

热门文章

  1. 关于sql的执行顺序
  2. e.preventdefault() 别滥用
  3. Objective-c 子类重写方法调用[super method]小实验
  4. asp.net中的加密方法
  5. switch java 语法_Java_基础语法之switch语句
  6. CCF201709-2 公共钥匙盒
  7. 下载丨2020 PG亚洲大会(PPT汇总)
  8. 史上最全数据库中间件详解
  9. 华为云IoT智简联接,开启物联世界新纪元
  10. 人车识别实验丨华为ModelArts VS 百度Easy DL硬核体验