一、时间戳

简单讲,unix时间戳就是从1970-01-01开始所经过的秒数,什么时候获取时间戳,就是到那个时间点所经历的秒数。

二、JavaScript获取时间戳

根据时间戳的定义,可以使用javascript中的几个方法来获取系统当前的时间戳:

1、getTime()

w3c school的解释如下:

根据上面的定义,我们可以获取系统当前的时间戳:

var timeStamp1 = new Date().getTime();
console.info(timeStamp1);
//输出:1556526945555

2、parse()

根据上面的解释,parse方法返回的是指定日期和时间到1970年1月1日的毫秒数,所以只要将日期指定为系统当前时间,就能获取系统当前的时间戳。

//例子1:
var timeStamp2 = Date.parse(new Date());
console.log(timeStamp2);
//输出:1556526945000

3、valueOf()

  

该方法返回的是Date对象的原始值,且和getTime返回相同的值,所以只要Date对象为系统当前时间,就能获取系统当前的时间戳

var timeStamp5 = (new Date()).valueOf();
console.info(timeStamp5);
//输出:1556527752836

以上是获取系统当前时间的时间戳,如果要获取指定时间的时间戳,只需要设置指定日期,然后用对应的日期对象进行操作即可,不再赘述。

从上面的结论可以看出,通过parse方法获取的时间戳后三位都是0,如果用更多的数据测试,都会发现该方法返回的时间戳没有其他两种方法精确,

因为其后三位始终是0.

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>时间戳问题</title>
<script>
/***********************************************获取当前时间***********************************************/
// 例子1:
var timeStamp1 = (new Date()).getTime();
console.log(timeStamp1);
// 输出1556529963911 // 例子8
var timeStamp8 = (new Date()).valueOf();
console.log(timeStamp8);
//输出:1556529963914 //例子9
var timeStamp9 = +new Date();
console.log(timeStamp9);
//输出:1556529963914 //例子10
var timeStamp10 = Date.now();
console.log(timeStamp10);
//输出:1556529963914 //
console.log((new Date()).getTime() == +new Date());// 输出:true console.log((new Date()).getTime() == Date.now());// 输出:true console.log((new Date()).getTime() == (new Date()).valueOf());// 输出:true console.log((new Date()).getTime() == Date.parse(new Date()));// 输出:false /***********************************************Date.parse 获取自定义时间************************************************/
// 例子2:
var timeStamp2 = Date.parse(new Date());
console.log(timeStamp2);
// 输出:1556528914000 // 例子3:
var timeStamp3 = Date.parse('2019-4-29 00:00:00');
console.log(timeStamp3);
// 输出:1556467200000 // 例子4
var timeStamp4 = Date.parse('2019-4-29');
console.log(timeStamp3);
// 输出:1556467200000 // 例子5
var timeStamp5 = Date.parse('2019.4.29');
console.log(timeStamp5);
// 输出:1556467200000 // 例子6
var timeStamp6 = Date.parse('2019/4/29');
console.log(timeStamp6);
// 输出:1556467200000 // 例子7
var timeStamp7 = (new Date('2019.4.29')).valueOf();
console.log(timeStamp7);
//输出:1556467200000 </script>
</head>
<body> </body>
</html>

二、将时间戳转换为其他

1.根据已知时间戳计算是周几

function getWeekFn(value) {
if (!value) return '';
var newDate = new Date();
newDate.setTime(parseInt(value));
var temp = new Array("日", "一", "二", "三", "四", "五", "六");
var week = new Date(newDate.toISOString()).getDay();
return temp[week];
};
console.log(getWeekFn(Date.parse('2019.4.8')));
console.log(getWeekFn(‘1554652800000’);
执行结果:“一”
 
2.根据给定日期计算周几
function getWeekFn(value) {
if (!value) return '';
var newDate = new Date(value);
var temp = new Array("日", "一", "二", "三", "四", "五", "六");
var week = newDate.getDay();
return temp[week];
};

例如:

       console.log(getWeekFn2('2019/4/8'))
  console.log(getWeekFn2('2019-4-8'))
  console.log(getWeekFn2('2019.4.8'))
执行结果: “一”

注意:该字符串应该能被 Date.parse() 正确方法识别

相关资料:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date

作者:smile.轉角

QQ:493177502

【js】项目中有关时间的问题的更多相关文章

  1. 如何Vue-cli开始使用在Vue.js项目中启动TDD(测试驱动开发)

    通常,使用测试驱动开发(TDD)最困难的部分是开始.你必须下载带有奇怪依赖项的软件包,让测试套件与你的构建系统协同工作,然后你必须弄清楚如何编写一个测试!难怪这么多的开发者在你提起它的时候就开始跑开了 ...

  2. Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验

    vee-validate 是为 Vue.js 量身打造的表单校验框架,允许您校验输入的内容并显示对应的错误提示信息.它内置了很多常见的校验规则,可以组合使用多种校验规则,大部分场景只需要配置就能实现开 ...

  3. Vue.js项目中使用iconfont冲突问题解决

    在开发前端项目中,字体图标变得越来越常用.一方面因为它比图片使用起来方便,可以像字体一样修改大小和颜色:另一方面是因为它可以减少请求数量,优化前端性能. iconfont的使用方法很简单,主要由三种引 ...

  4. sau交流学习社区--songEagle开发系列:Vue.js + Koa.js项目中使用JWT认证

    一.前言 JWT(JSON Web Token),是为了在网络环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). JWT不是一个新鲜的东西,网上相关的介绍已经非常多了.不是很了解的 ...

  5. 17、vue-cli3 js项目中引入ts混用(typeScript)

    说明: vue3.0搭建的项目,不过没有引入ts,后来需要用到一个插件是用ts写的,所以vue要用到ts... 一.安装typescript及loader npm install typescript ...

  6. 个人博客开发系列:Vue.js + Koa.js项目中使用JWT认证

    前言 JWT(JSON Web Token),是为了在网络环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519). 更多的介绍和说明,以及各种原理,我在此就不多赘诉了.JWT不是一个新鲜 ...

  7. Vue.js项目中,当图片无法显示时则显示默认图片

    使用require将图片进入,写法如下: data: () => ({logo: 'this.src="' + require('../assets/img.png') + '&quo ...

  8. Node.js 项目中解决 SQL 注入和 XSS 攻击

    1.SQL 注入 SQL 注入,一般是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令. SQL 注入示例 在登录界面,后端会根 ...

  9. js json中的时间转换格式

    //根据json中的日期格式,转换成yyyy-mm-dd HH:mm:ss function ChangeDateFormat(cellval) { var date = new Date(parse ...

随机推荐

  1. Tiny4412 烧写uboot到emmc步骤

    将uboot写入emmc,并通过EMMC驱动,不在只用SD卡启动 烧写uboot的之前用如下命令查看EMMC卡信息及分区信息: mmcinfo 0: 查看mmc卡信息, 0表示SD卡:1表示emmc卡 ...

  2. SSM-SpringMVC-19:SpringMVC中请求和响应的乱码解决

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 配置一道拦截器即可解决乱码 配置方式如下: 在web.xml中: <!--过滤器处理乱码--> ...

  3. Java开发岗面试知识点解析

    本文作者参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编 ...

  4. 【新手向】自用的tooltip小插件,前端插件知识科普~

    上面的tooltip就是成品图,为了和自己站点的风格保持一致所以自己写的. 第一部分:你绝对碰到过的匿名函数闭包问题 第二部分:写个tooltip demo 第三部分:源码地址 第一部分 你绝对碰到过 ...

  5. jQuery学习之旅 Item7 区别this和$(this)

    刚开始以为this和$(this)就是一模子刻出来.但是我在阅读时,和coding时发现,总不是一回事,这里就谈谈this与$(this)的区别. 1.jQuery中this与$(this)的区别 $ ...

  6. Android 框架练成 教你打造高效的图片加载框架

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41874561,本文出自:[张鸿洋的博客] 1.概述 优秀的图片加载框架不要太多, ...

  7. python高级编程1

    1.如何在列表,字典,集合中根据条件筛选数据? 如: 过滤列表[3, 9, -1, 10, 20, -2...]中的负数 筛出字典{‘小明’:70, 'Jim':88,'Tom':98...}中值高于 ...

  8. mime.go

    package manager import (     "mime"     "path" ) //初始化数据 func init() {     if mi ...

  9. CVE-2018-8120 Microsoft Windows提权漏洞 Exp

    CVE-2018-8120 Windows LPE exploit Supports both x32 and x64. Tested on: Win7 x32, Win7 x64, Win2008 ...

  10. Maven的安装步骤

    1.确保jdk安装成功,注意在系统环境下,必须添加jdk的路径.2.将maven的路径配置在系统环境变量中.3.修改maven的默认路径,即:将config下的settings.xml文件中的目录节点 ...