JS基础入门篇(十八)—日期对象
1.日期对象
日期对象:
通过new Date()就能创建一个日期对象,这个对象中有当前系统时间的所有详细信息。
以下代码可以获取当前时间:
<script>
var t = new Date();
console.log(t);
console.log(typeof t);
</script>
如果想不停打印当前的时间,可以看以下代码:
<script>
setInterval(function () {
var t = new Date();
console.log(t);
},1000);
2.日期对象的参数
参数:
(1)年月日 时分秒
new Date(2016,0,12,2,40,21);月是从0开始算,所以0表示的是1月
(2)字符串
new Date('Oct 27,2016 10:10:12');
(3)时间戳
时间戳(获取1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒))
以下代码,可以把注释打开,查看效果:
<script>
var t= new Date(2016,0,12,2,40,21);//月是从0开始算,所以0表示的是1月。打印结果是Tue Jan 12 2016 02:40:21 GMT+0800 (CST)。
// var t= new Date("Oct 27,2016 10:10:12");//打印结果是Thu Oct 27 2016 10:10:12 GMT+0800 (CST)。
// var stemp= new Date().getTime();// 时间戳 距离 1970年1月1日0:0:0 的毫秒差。
// var t= new Date(stemp);//把时间戳传进去,获取对应的时间。打印的结果当前时间
// var t= new Date(0);//表示1970年1月1日0:0:0
// var t = new Date(stemp+10000*1000);//表示距离stmp10000秒之后的时间。
console.log(t);
</script>
3.获取详细时间和设置详细时间
获取详细时间:
getFullYear(); 获取年
getMonth(); 获取月(月份从0开始计算)
getDate(); 获取日
getDay(); 获取天
getHours(); 获取时
getMinutes(); 获取分
getSeconds(); 获取秒
getMilliseconds(); 获取毫秒
getTime(); 获取1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒)
设置详细时间:
setFullYear() 设置年
setMonth() 设置月 (月份从0开始计算)
setDate() 设置日
setHours() 设置小时
setMinutes() 设置分钟
setSeconds() 设置秒钟
setMilliseconds() 设置毫秒
setTime() 设置1970-01-01 00:00:00到目前日期对象的时间差(单位:毫秒)
注意:
设置日期对象的时候只是在操作这个对象,没有操作本机的系统时间
4.字符时钟
以下是字符时钟代码:
<body>
<div></div>
<script>
var div=document.getElementsByTagName("div")[0];
//函数作用是,当获取的分秒小于0的时候,往前面加"0"。
function add0(num) {
if(num<10){
return "0"+num;
}else{
return num+"";
}
}
setInterval(function () {
var t=new Date();
var hour=t.getHours();//获取时
var m=add0(t.getMinutes());//获取分
var s=add0(t.getSeconds());//获取秒
var time=hour+":"+m+":"+s;
div.innerHTML=time;
},1000);
</script>
</body>
5.计算这个月有多少天的三种方式
方式一:
<script>
//由于函数内部会计算每个月有多少天,当设置超出时,会溢出,得到的是下个月的时间。
var t=new Date();
var M=t.setMonth(0);//设着月份为1月
t.setDate(32);//设置天数为32天,但1月份只有31天则会溢出。则时间设置后是2月1号
console.log("2018年1月有"+(32-t.getDate())+"天");
</script>
方式二:
<script>
var t=new Date();
var M=t.setMonth(1);//设着月份为2月
t.setDate(0);//设置为0天,则会跳回上个月的最后一天。
console.log("2018年1月有"+(t.getDate())+"天");
</script>
方式三:
<script>
var t=new Date();
var M=t.setMonth(0);//设着月份为1月
t.setDate(32);//设置天数为32天,但1月份只有31天则会溢出。则时间设置后是2月1号
t.setDate(0);//设置为0天,则会跳回上个月的最后一天。
console.log("2018年1月有"+(t.getDate())+"天");
</script>JS基础入门篇(十八)—日期对象的更多相关文章
- JS基础入门篇(三十五)—面向对象(二)
如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)
- MyBatis基础入门《十八》动态SQL(if-where)
MyBatis基础入门<十八>动态SQL(if-where) 描述: 代码是在<MyBatis基础入门<十七>动态SQL>基础上进行改造的,不再贴所有代码,仅贴改动 ...
- JS基础入门篇(二十七)—BOM
虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...
- JS基础入门篇(二十)—事件对象以及案例(二)
案例一.点击按钮,选中input中的全部内容 select()方法:选中全部. 点击按钮选中输入框中的内容!!!! <!DOCTYPE html> <html lang=" ...
- JS基础入门篇(三十四)— 面向对象(一)
1.对象 对象的定义 : 对象 是 由 键值对 组成的无序集合. 创建对象两种方法 : 方法一 : 字面量方法 var obj = {name: "k"}; 方法二 : new O ...
- JS基础入门篇(二十四)—DOM(下)
1.offsetLeft/offsetTop offsetLeft/offsetTop : 到定位父级节点的距离. <!DOCTYPE html> <html lang=" ...
- JS基础入门篇(三十六)—面向对象( 三 )
1.class class es6 中 为 关键字用来声明 一个 类 1.只能通过new调用 2.不存在变量提升 3.多个方法之间直接书写,不需要,隔开 4.类的方法是直接定义在类的原型上的 5.定义 ...
- JS基础入门篇(十二)—JSON和Math
1.JSON JSON: 对象格式的字符串 轻量的数据传输格式 注意事项: 键名 需要 使用 双引号 包起来 JOSN有两个方法:JSON.parse和 JSON.stringify. JSON.pa ...
- JS基础入门篇(二十四)—DOM(上)
1.常用的节点类型,nodeType,attributes,childNodes. 1.元素节点 - 1 2.属性节点 - 2 3.文本节点 - 3 4.注释节点 - 8 5.文档节点 - 9 查看节 ...
随机推荐
- python_3_字符串
1.strip,lstrip,rstrip " hi, ming ".strip() #去掉前后空格 "@hi,ming@".strip("@&quo ...
- Excel-DNA项目只用1个文件实现Ribbon CustomUI和CustomTaskpane定制【C#版】
Excel-DNA项目中的自定义功能区和自定义任务窗格需要用到各种命名空间.添加所需文件,才能实现.后来我发现可以把所有代码都写在Class1.cs这个默认文件中. 大家可以在Visual Studi ...
- Select(快速选择顺序统计量)原理及C++代码实现
SELECT算法利用快排中的partition思想来进行无序数组的快速选择. 寻找第i个顺序统计量可以简单理解为寻找第i小的元素. 该算法通过为partition选择一个好的主元,来保证Partiti ...
- 74)PHP,Session的一些属性
(1) (2)有效期在 会话周期结束(就是将浏览器关闭前) (3)有效路径: 整站都有效 (4)有效域:当前域 (5)是否安全传输:否 (6)以上的session数据的特征都是由一个问题导致的,就 ...
- 分辨率与px的关系
此篇文章的目的用于打印套打的位置计算,顺便科普下知识: 1寸=2.54厘米 14寸=355.6毫米 15.6寸=39.624厘米=396.24毫米: 21寸=533.4毫米 21.7寸=551.18毫 ...
- java开发环境搭建(jdk安装)和经常出现问题的探讨
面对许多java初学者环境搭建出现的问题 第一步: 1,首先在可以百度jdk进入oracle的官网也可以进入这个网站 https://www.oracle.com/technetwork/java/j ...
- testNG报告优化,testNG-xslt
一.在使用testNG自动化框架执行测试用例后,会自动生成HTML的测试报告,但是过于简单,信息展示极少,也没有图表说明,所有我们使用testNG-xslt进行美化. 二.具体实现步骤: 1.在网站下 ...
- SHELL用法四(for语句)
1.SHELL编程For语句案例实战 1)For语句固定的语法格式: For i in (表达式) do 动作1 done 2)For语句案例操作一: #!/bin/bash do echo “$NU ...
- Linux下文件 ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 和 /etc/profile 的区别 | 用户登录后加载配置文件的顺序
转自 https://blog.csdn.net/secondjanuary/article/details/9206151 文件说明: /ect/profile 此文件为系统的每个用户设置环境信息, ...
- [LC] 236. Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...