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基础入门篇(十八)—日期对象的更多相关文章

  1. JS基础入门篇(三十五)—面向对象(二)

    如果没有面向对象这种抽象概念的小伙伴,建议先看一下我写的JS基础入门篇(三十四)-面向对象(一)

  2. MyBatis基础入门《十八》动态SQL(if-where)

    MyBatis基础入门<十八>动态SQL(if-where) 描述: 代码是在<MyBatis基础入门<十七>动态SQL>基础上进行改造的,不再贴所有代码,仅贴改动 ...

  3. JS基础入门篇(二十七)—BOM

    虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...

  4. JS基础入门篇(二十)—事件对象以及案例(二)

    案例一.点击按钮,选中input中的全部内容 select()方法:选中全部. 点击按钮选中输入框中的内容!!!! <!DOCTYPE html> <html lang=" ...

  5. JS基础入门篇(三十四)— 面向对象(一)

    1.对象 对象的定义 : 对象 是 由 键值对 组成的无序集合. 创建对象两种方法 : 方法一 : 字面量方法 var obj = {name: "k"}; 方法二 : new O ...

  6. JS基础入门篇(二十四)—DOM(下)

    1.offsetLeft/offsetTop offsetLeft/offsetTop : 到定位父级节点的距离. <!DOCTYPE html> <html lang=" ...

  7. JS基础入门篇(三十六)—面向对象( 三 )

    1.class class es6 中 为 关键字用来声明 一个 类 1.只能通过new调用 2.不存在变量提升 3.多个方法之间直接书写,不需要,隔开 4.类的方法是直接定义在类的原型上的 5.定义 ...

  8. JS基础入门篇(十二)—JSON和Math

    1.JSON JSON: 对象格式的字符串 轻量的数据传输格式 注意事项: 键名 需要 使用 双引号 包起来 JOSN有两个方法:JSON.parse和 JSON.stringify. JSON.pa ...

  9. JS基础入门篇(二十四)—DOM(上)

    1.常用的节点类型,nodeType,attributes,childNodes. 1.元素节点 - 1 2.属性节点 - 2 3.文本节点 - 3 4.注释节点 - 8 5.文档节点 - 9 查看节 ...

随机推荐

  1. Linux_拷贝,剪切,删除和创建文件

    cp 你要拷贝的文件 + 目录/带路径的文件名(在拷贝的同时,让这个文件重新命名) cp /tep/dir01  ~  代表将dir01拷贝到当前用户的家目录中 cp /tep/dir02  ~/di ...

  2. QTP基本循环正常遍历(代码方式实现)

    0 环境 系统环境:win7 1 操作(正常遍历篇) 1.1 代码前看 systemutil.Run "D:\Program Files (x86)\HP\QuickTest Profess ...

  3. Tomcat远程调试模式及利用Eclipse远程链接调试

    1.启动tomcat到调试模式 进入到tomcat的bin目录下,执行命令./catalina.sh jpda run 启动日记会提示打开调试端口默认为8000 2.调试Eclipse远程连接tomc ...

  4. 三、RabbitMQ安装

    安装前准备 Linux版本信息: 发行版本:CentOS Linux release 7.5.1804 (Core) 内核版本:Linux version 3.10.0-862.el7.x86_64 ...

  5. ospf实验

    以上是实验要求和实验拓扑 R1到R5的ip自己配置了 1. #int loopback 0 #IP add 1.1.1.1 24 2.基本命令R5例: #ospf 1 router-id 5.5.5. ...

  6. poj 1659 Frog's Neighborhood

    未名湖附近共有N个大小湖泊L1, L2, -, Ln(其中包括未名湖),每个湖泊Li里住着一只青蛙Fi(1 ≤ i ≤ N).如果湖泊Li和Lj之间有水路相连,则青蛙Fi和Fj互称为邻居.现在已知每只 ...

  7. python开发时小问题之端口占用

    昨天开发时遇到个小问题: 在使用pycharm编写tornado代码时: 直接用这种方式开启了服务,当我想修改代码时发现端口已经被占用代码提交不上去 所以现在该关闭进程: 步骤一: 打开CMD 步骤二 ...

  8. Ionic 4 beta + Capacitor beta 尝鲜

    本文为原创文章,转载请标明出处 开发环境: Ionic 4 beta 3.Capacitor beta 6. 首先 ionic start 工程名 blank --type=angular,问是否集成 ...

  9. Python-多任务复制文件夹

    import multiprocessing import os import time def copy_file(queue, file_name, old_folder_name, new_fo ...

  10. 吴裕雄--天生自然HTML学习笔记:关闭8080端口被占用怎么办?关闭8080端口被占用