js入门系列之

时间及时间戳 时间及时间戳

时间及时间戳是js里面很常见的一个概念,在我们写前端页面的时候,经常会遇到需要获取当前时间的情况,所以,了解js中的时间概念非常重要。而时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,在关于时间的计算中也起着不可替代的作用。下面我们通过代码来认识一下他们。首先,我们先通过代码获取当前时间:

var time=new Date();
var timeTamp=time.getTime();
text.innerHTML="time:"+time+" \ntimeTamp:"+timeTamp;

如图所示,我们所得到的time就是js中Date对象的实例,在不添加任意参数的情况下我们可以得到当前的时间,而通过getTime我们可以把Date实例转化为时间戳。通过代码运行结果我们可以看到,time一般是一个字符串,而timeTamp则是一个纯数字,所以我们一般把time用来显示,而把timeTamp用来计算~
既然提到了时间,那么肯定关系到了时间上的计算。先不急,我们先来熟悉一下关于Date对象的函数,常见的有getFullYear,getMonth,getDate,getMinute,getSecond,我们用代码看一下他们的作用:

var text=document.getElementById('text');
var time=new Date();
var timeTamp=time.getTime();
var year=time.getFullYear();
var month=time.getMonth();
var date=time.getDate();
var hour=time.getHours();
var minute=time.getMinutes();
var second=time.getSeconds();
text.innerHTML="time:"+time+"<br/>timeTamp:"+timeTamp+"<br/>year:"+year+"<br/>month:"+month+"<br/>date:"+date+"<br/>hour:"+hour+"<br/>minute:"+minute+"<br/>second:"+second;

从图中我们可以看到关于时间的每部分我们都可以单独得出,使得后续时间计算尤为方便。提示一下:单独返回的月份是从0开始算的,结果中返回了4,也就是代表是五月。那么既然有get方法,就有对应的set方法,这里小编只介绍setFullYear方法,其他的就让读者们自己去挖掘把。

var time=new Date();
var timeTamp=time.getTime();
time.setFullYear(2018,4,20);
text.innerHTML="time:"+time;

setFullYear可以帮我们将time设定为我们期待的时间,这在实际中是非常实用的,尤其是写倒计时之类的demo。相似的还有parse函数,只不过它返回的是指定时间的时间戳,这两个函数各有所用之地,作用相似:

var toTamp=Date.parse('12 19,2015');
text.innerHTML="toTamp:"+toTamp;

下面我们利用现有的函数写一个倒计时,是到2018-5-20号的:

var text=document.getElementById('text');
var toTamp=Date.parse('5 20,2018');
setInterval(function(){
var time=new Date();
var timeTamp=time.getTime();
var overTamp=toTamp-timeTamp;
var overTime=new Date(overTamp);
overTime.setFullYear(overTime.getFullYear()-1970);
overTime.setHours(overTime.getHours()-8);
var oyear=overTime.getFullYear();
var omonth=overTime.getMonth();
var odate=overTime.getDate();
var ohour=overTime.getHours();
var ominute=overTime.getMinutes();
var osecond=overTime.getSeconds();
text.innerHTML="离2018-5-20剩余时间还有:<br/>"+oyear+"年"+omonth+"月"+odate+"天"+ohour+"时"+ominute+"分"+osecond+"秒";
},1000);

这是一个十分简易的倒计时,但是所用到的代码确实不多而且简洁,虽然不一定是最精确的,但是应该算是最简单的一种方法了。而当你为这个倒计时加上酷炫的特效时,我想你会喜欢上他的~
作为一个新手小白,我也是在前端的道路上不断摸索着。不要因为知识点简单或者不高大上就不去研习,眼光上的盲目会让你的项目摇摇欲坠。以人为戒,以己为戒。

js笔记系列之--时间及时间戳的更多相关文章

  1. 《Java 8实战》读书笔记系列——第三部分:高效Java 8编程(四):使用新的日期时间API

    https://www.lilu.org.cn/https://www.lilu.org.cn/ 第十二章:新的日期时间API 在Java 8之前,我们常用的日期时间API是java.util.Dat ...

  2. js sql C#时间、时间戳相互转换

    js. sql. C#时间.时间戳相互转换 //1.获取当前时间戳_c# ) / //2.时间戳->时间 C# DateTime b11 = GetTime(");//11位时间戳-& ...

  3. JS时间转时间戳,时间戳转时间。时间显示模式。

    函数内容 // 时间转为时间戳 function date2timestamp(datetime) { var timestamp = new Date(Date.parse(datetime)); ...

  4. 系列文章--Node.js学习笔记系列

    Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...

  5. js时间和时间戳之间如何转换(汇总)

    js时间和时间戳之间如何转换(汇总) 一.总结 一句话总结: 1.js中通过new Date()来获取时间对象, 2.这个时间对象可以通过getTime()方法获取时间戳, 3.也可以通过getYea ...

  6. js 时间与时间戳的转换

      一:时间转时间戳:javascript获得时间戳的方法有四种,都是通过实例化时间对象 new Date() 来进一步获取当前的时间戳 1.var timestamp1 = Date.parse(n ...

  7. JS获取当前时间及时间戳相互转换

    1.获取当前时间的 时间戳 Date.parse(new Date()) 结果:1486347562000 2.获取当前 时间 new Date() 结果:Mon Feb 06 2017 10:19: ...

  8. JS时间和时间戳的转换

    时间转为时间戳 timeToTimestamp(time){ let timestamp = Date.parse(time) return timestamp; } 时间戳转为本地时间 timest ...

  9. Hadoop学习笔记系列文章导航

    一.为何要学习Hadoop? 这是一个信息爆炸的时代.经过数十年的积累,很多企业都聚集了大量的数据.这些数据也是企业的核心财富之一,怎样从累积的数据里寻找价值,变废为宝炼数成金成为当务之急.但数据增长 ...

随机推荐

  1. 关于Apache Commons-Lang3的使用

    在日常工作中,我们经常要使用到一些开源工具包,比如String,Date等等.有时候我们并不清楚有这些工具类的存在,造成在开发过程中重新实现导致时间浪费,且开发的代码质量不佳.而apache其实已经提 ...

  2. vue实现动态绑定class--多个按钮点击一个有一个

    <template> //v-for循环出来多个按钮,便于获取index         <span v-for="(item,index) in list" : ...

  3. VB6实现Excel多工作簿数据合并

    以前的同事,工作需要,让我帮忙完成多个工作簿的汇总. 我就用最熟悉的VB6写了一个Form应用程序,这是因为我不知道她目前的系统和Office情况,如果太高大上了,她不会部署安装.索性就简单粗暴地来个 ...

  4. OSPF 大实验

    实验拓扑如图所示: 公司A网络如实验拓扑所示,请根据如下需求对网络进行部署: 1) 按照拓扑所示配置OSPF多区域,另外R3与R6,R4与R6间配置RIPv2.R1,R2,R3,R4的环回接口0通告入 ...

  5. [LC] 277. Find the Celebrity

    Suppose you are at a party with n people (labeled from 0 to n - 1) and among them, there may exist o ...

  6. [LC] 8. String to Integer (atoi)

    Implement atoi which converts a string to an integer. The function first discards as many whitespace ...

  7. 吴裕雄--天生自然Android开发学习:魅蓝3开启USB调试

    打开手机点击:设置 选择:关于手机 在详情里面找到:版本号,然后不断地点击那个版本号. 然后返回一步 再选择设置里面的:辅助功能 再选择辅助功能里面的:开发者选项 进入开发者选项后,选择打开两项:一是 ...

  8. QT .和::和:和->

    在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别.1.A.B则A为对象或者结构体2.A->B则A为指针,->是成员提取,A->B是提取A中的 ...

  9. orcale 11g安装,创建表空间,用户,授权用户

    一.卸载旧oracle 用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢?那就是直接注册表清除,步骤如下: 1. 开始->设 ...

  10. 使用Spring AOP 实现日志管理(简单教程)

    有时候,我们在做项目时会遇到这样的需求: 给XXX.java中的所有方法加上指定格式的日志输出. 针对这种指定类.或者指定方法进行共性操作的功能,我们完全可以使用Spring AOP来实现. 本文使用 ...