获取JavaScript时间戳函数的方法和js时间戳转时间方法

2023-11-03

文章目录

一、JavasCRIPT时间转时间戳

方法一:Date.now()

Date.now()可以获得当前的时间戳:

console.log(Date.now()) //1642583186067
## 方法二:Date.parse()
Date.parse()将字符串或者时间对象直接转化成时间戳:【不推荐这种办法,毫秒级别的数值被转化为000。】

```javascript
Date.parse(new Date()) //1642583001000
Date.parse("2022/1/18 10:05") //1642583040000

方法三:valueOf()

通过valueOf()函数返回指定对象的原始值获得准确的时间戳值:

(new Date()).valueOf() //1642583097074

方法四:getTime()

通过原型方法直接获得当前时间的毫秒值,准确:

new Date().getTime() //1642583139432

方法五:Number

将时间对象转化为一个number类型的数值,即时间戳

Number(new Date()) //1642583223751

二、js时间戳转时间

可以接用 new Date(时间戳) 格式转化获得当前时间,比如:

new Date(1642583223751)
// Wed Jan 19 2022 17:07:03 GMT+0800 (中国标准时间) {}

在这里插入图片描述

注意:时间戳参数必须是Number类型,如果是字符串,解析结果:Invalid Date。

如果后端直接返回时间戳给前端,前端如何转换呢?下面介绍2种实现方式

方法一:生成’yyyy/MM/dd 上(下)午hh:mm:ss '格式

function getLocalTime(n) {   
   return new Date(parseInt(n)).toLocaleString().replace(/:\d{1,2}$/,' ');   
}   
getLocalTime(1642583223751) //'2022/1/19 下午5:07 '

在这里插入图片描述

也可以用如下,想取几位就几位,注意,空格也算!

function getLocalTime(n) {   
    return new Date(parseInt(n)).toLocaleString().substr(0,14)
}   
getLocalTime(1642583223751) //'2022/1/19 下午5:'

在这里插入图片描述

或者利用正则:

function  getLocalTime(n){
   return new Date(parseInt(n)).toLocaleString().replace(/年|月/g, "-").replace(//g, " ");
}
getLocalTime  (1642583223751)  //'2022/1/19 下午5:07:03'

在这里插入图片描述

方法二:生成’yyyy-MM-dd hh:mm:ss '格式

先转换为data对象,然后利用拼接正则等手段来实现:

function getData(n){
  n=new Date(n)
  return n.toLocaleDateString().replace(/\//g, "-") + " " + n.toTimeString().substr(0, 8)
}
getData(1642583223751) //'2022-1-19 17:07:03'

在这里插入图片描述

不过这样转换在某些浏览器上会出现不理想的效果,因为toLocaleDateString()方法是因浏览器而异的,比如 IE为"2016年8月24日 22:26:19"格式 ;搜狗为"Wednesday, August 24, 2016 22:39:42"

可以通过分别获取时间的年月日进行拼接,这样兼容性更好:

function getData(n) {
  let now = new Date(n),
    y = now.getFullYear(),
    m = now.getMonth() + 1,
    d = now.getDate();
  return y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8);
}
getData(1642583223751) //'2022-01-19 17:07:03'

在这里插入图片描述

三、知识普及

1、当前系统区域设置格式(toLocaleDateString和toLocaleTimeString)
(new Date()).toLocaleDateString() + " " + (new Date()).toLocaleTimeString() 
//'2022/1/19 下午5:21:34'

在这里插入图片描述

2、普通字符串(toDateString和toTimeString)
(new Date()).toDateString() + " " + (new Date()).toTimeString() 
//'Wed Jan 19 2022 17:22:50 GMT+0800 (中国标准时间)'

在这里插入图片描述

3、格林威治标准时间(toGMTString)
(new Date()).toGMTString() 
//'Wed, 19 Jan 2022 09:24:49 GMT'

在这里插入图片描述

4、全球标准时间(toUTCString)
(new Date()).toUTCString() 
//'Wed, 19 Jan 2022 09:25:22 GMT'

在这里插入图片描述

5、Date对象字符串(toString)
(new Date()).toString() 
//'Wed Jan 19 2022 17:26:50 GMT+0800 (中国标准时间)'

在这里插入图片描述

Date对象构造函数

Date对象具有多种构造函数:

new Date() 
new Date(milliseconds) 
new Date(datestring) 
new Date(year, month) 
new Date(year, month, day) 
new Date(year, month, day, hours) 
new Date(year, month, day, hours, minutes) 
new Date(year, month, day, hours, minutes, seconds) 
new Date(year, month, day, hours, minutes, seconds, microseconds) 

Date对象构造函数参数说明:

milliseconds - 距离JavaScript内部定义的起始时间1970年1月1日的毫秒数 
datestring - 字符串代表的日期与时间。此字符串可以使用Date.parse()转换 
year - 四位数的年份,如果取值为0-99,则在其之上加上1900 
month - 0(代表一月)-11(代表十二月)之间的月份 
day - 1-31之间的日期 
hours - 0(代表午夜)-23之间的小时数 
minutes - 0-59之间的分钟数 
seconds - 0-59之间的秒数 
microseconds - 0-999之间的毫秒数 

Date对象返回值

如果没有任何参数,将返回当前日期;
如果参数为一个数字,将数字视为毫秒值,转换为日期
如果参数为一个字符串,将字符串视为日期的字符串表示,转换为日期
还可以使用六个构造函数精确定义,并返回时间

let d1 = new Date(); 
document.write(d1.toString()); 
let d2 = new Date("2022-1-19 17:42:33"); 
document.write(d2.toString()); 
let d3 = new Date(2022, 1, 19); 
document.write(d3.toString());

在这里插入图片描述

Date做为JavaScript的一种内置对象,必须使用new的方式创建。

Date对象在JavaScript内部的表示方式是,距1970年1月1日午夜(GMT时间)的毫秒数(时间戳),我们在这里也把Date的内部表示形式称为时间戳。

可以使用getTime()将Date对象转换为Date的时间戳,方法setTime()可以把Date的时间戳转换为Date的标准形式。

Date函数使用语法

date.方法名(参数1,参数2,…);
Date.方法名();
date代表一个日期对象的实例,Date代表日期对象,date.方法名调用的为对象的成员函数
Date.方法名调用的为对象的静态函数

let d=new Date(); 
let d2=Date.UTC();

Date函数按功能分类

日期获取类函数

Date() 函数 -- Date对象的构造函数 
getDate() 函数 -- 返回date对象中的月份中的天数(1-31) 
getDay()函数 -- 返回date对象中的星期中的天数(0-6) 
getFullYear() 函数 -- 返回date对象中的四位数年份 
getHours()函数 -- 返回date对象中的小时数(0-23) 
getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999) 
getMinutes() 函数 -- 返回date对象中的分钟数(0-59) 
getMonth() 函数 -- 返回date对象中的月份数(0-11) 
getSeconds() 函数 -- 返回date对象中的秒数(0-59) 
getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示) 
getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位 
getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31) 
getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6) 
getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份 
getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23) 
getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999) 
getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59) 
getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11) 
getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59) 
getYear() 函数 -- 返回date对象的年份(真实年份减去1900) 
Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的毫秒数(时间戳)

日期设置类函数

setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 

setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setYear() 函数 -- 设置date对象的年份(真实年份减去1900)

日期打印类函数

toDateString() 函数 -- 返回date对象的日期部分的字符串表示 
toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示 
toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串 
toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串 
toTimeString()函数 -- 返回date对象的时间部分的字符串 
toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示

日期解析类函数

Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳) 
JavaScript_Date函数按照字母分类 
Date() 函数 -- Date对象的构造函数 
getDate() 函数 -- 返回date对象中的月份中的天数(1-31) 
getDay()函数 -- 返回date对象中的星期中的天数(0-6) 
getFullYear() 函数 -- 返回date对象中的四位数年份 
getHours()函数 -- 返回date对象中的小时数(0-23) 
getMilliseconds() 函数 -- 返回date对象中的毫秒数(0-999) 
getMinutes() 函数 -- 返回date对象中的分钟数(0-59) 
getMonth() 函数 -- 返回date对象中的月份数(0-11) 
getSeconds() 函数 -- 返回date对象中的秒数(0-59) 
getTime() 函数 -- 返回date对象的时间戳表示法(毫秒表示) 
getTimezoneOffset() 函数 -- 返回本地时间与用UTC表示当前日期的时间差,以分钟为单位 
getUTCDate() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份中的一天(1-31) 
getUTCDay() 函数 -- 返回date对象中用世界标准时间(UTC)表示的周中的一天(0-6) 
getUTCFullYear() 函数 -- 返回date对象中用世界标准时间(UTC)表示的四位年份 
getUTCHours() 函数 -- 返回date对象中用世界标准时间(UTC)表示的小时数(0-23) 
getUTCMilliseconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的毫秒数(0-999) 
getUTCMinutes() 函数 -- 返回date对象中用世界标准时间(UTC)表示的分钟数(0-59) 
getUTCMonth() 函数 -- 返回date对象中用世界标准时间(UTC)表示的月份数(0-11) 
getUTCSeconds() 函数 -- 返回date对象中用世界标准时间(UTC)表示的秒数(0-59) 
getYear() 函数 -- 返回date对象的年份(真实年份减去1900) 
Date.parse() 函数 -- 解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数(时间戳) 
setDate() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setFullYear() 函数 -- 设置date对象中的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setHours() 函数 -- 设置date对象的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMilliseconds() 函数 -- 设置date对象的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMinutes() 函数 -- 设置date对象的分钟,秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setMonth() 函数 -- 设置date对象中月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setSeconds() 函数 -- 设置date对象中月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setTime() 函数 -- 使用毫秒数设置date对象,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCDate() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份的一天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCFullYear() 函数 -- 设置date对象中用世界标准时间(UTC)表示的年份,月份和天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCHours() 函数 --- 设置date对象中用世界标准时间(UTC)表示的小时,分钟,秒和毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMilliseconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的毫秒数,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMinutes() 函数 -- 设置date对象中用世界标准时间(UTC)表示的分钟,秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCMonth() 函数 -- 设置date对象中用世界标准时间(UTC)表示的月份,天,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setUTCSeconds() 函数 -- 设置date对象中用世界标准时间(UTC)表示的秒,毫秒,并返回date对象距1970年1月1日午夜之间的毫秒数(时间戳) 
setYear() 函数 -- 设置date对象的年份(真实年份减去1900) 
toDateString() 函数 -- 返回date对象的日期部分的字符串表示 
toGMTString() 函数 -- 返回date对象的格林威治时间(GMT)的字符串表示 
toLocaleDateString函数 -- 返回date对象的日期部分的本地化字符串 
toLocaleTimeString函数 -- 返回date对象的时间部分的本地化字符串 
toTimeString()函数 -- 返回date对象的时间部分的字符串 
toUTCString函数 -- 返回date对象的世界标准时间(UTC)的字符串表示 
Date.UTC()函数 -- 返回date对象距世界标准时间(UTC)1970年1月1日午夜之间的

四、13位时间戳转换成10位时间戳

JavaScript 13位时间戳转换成10位时间戳
function timest() {
  var tmp = Date.parse( new Date() ).toString().substr(0,10);
  return tmp;
}
Javascript的时间戳和php的时间戳转换

js的时间戳通常是13位,php的时间戳是10位,转换函数如下:

let nowtime = (new Date).getTime();/*当前时间戳*/   
/*转换时间,计算差值*/   
function comptime(beginTime,endTime){   
    var secondNum = parseInt((endTime-beginTime*1000)/1000);//计算时间戳差值      
    if(secondNum>=0&&secondNum<60){   
        return secondNum+'秒前';   
    }   
    else if (secondNum>=60&&secondNum<3600){   
        var nTime=parseInt(secondNum/60);   
        return nTime+'分钟前';   
    }   
    else if (secondNum>=3600&&secondNum<3600*24){   
        var nTime=parseInt(secondNum/3600);   
        return nTime+'小时前';   
    }   
    else{   
        var nTime = parseInt(secondNum/86400);   
        return nTime+'天前';   
    }   
} 
t = comptime("1642471746",nowtime); //1642471746为PHP通过ajax回传的时间戳, 是10位
console.log(t); //27分钟前
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取JavaScript时间戳函数的方法和js时间戳转时间方法 的相关文章

随机推荐

  • JDBC技术获取数据库时间字段

    MySQL数据库中datetime类型格式为0000 00 00 00 00 0 0 如2014 05 01 12 30 00 0 查询到了数据库中的结果集 ResultSet的对象后 要获取完全的时间需要用ResultSet对象的getT
  • Django实战之文件上传下载

    项目介绍 最近学习django 通过文件上传下载这个小项目 总结下常用的知识点 做这个案例我有以下需求 1 要支持一次上传多个文件 2 支持上传后记录上传的数据以及列表展示 3 支持下载和删除文件记录 效果展示 数据库记录 开发步骤 创建项
  • 数据挖掘入门

    目录 前言 简介 挖掘对象 挖掘步骤 分析方法 常用算法 神经网络法 决策树法 遗传算法 粗糙集法 模糊集法 关联规则法 面对的挑战 前言 不知不觉就步入了研究生的大门 蓦然回首 大学四年时光如流水 正如歌词唱的那样 转眼就各奔东西 工作的
  • R语言grep函数用法

    通常被用来进行数值计算比较多 字符串处理相对较少 而且关于字符串的函数也不多 用得多的就是substr strsplit paste regexpr这几个了 实际上R关于字符串处理的功能是非常强大的 因为它甚至可以直接使用Perl的正则表达
  • PYTHON自动化框架总结:SELENIUM+PYTEST+ALLURE

    文章目录 一 PYTEST 1 使用pytest执行测试需要遵循的规则 2 数据驱动 3 pytest fixture 4 结合ALLURE报告 5 pytest assume 二 接口自动化内容 1 接口自动化重要性 2 接口自动化平台的
  • CTFshow web入门——文件上传

    目录 Web 151 考点 后端无验证 前端校验 Web 152 考点 绕过前端校验 Web 153 考点 文件后缀名 黑名单 Web 154 155 考点 文件内容过滤 过滤关键字是php Web 156 158 Web159 Web 1
  • 解决:Hbuilder工具点击发行打包,一直报尚未完成社区身份验证,请点击链接xxxxx,项目xxx发布H5失败的错误。[Error]尚未完成社区身份验证

    全世界任何漂亮有魅力的女生 都不会因为你送她汉堡或奶茶而对你说我爱你 明白吗 你应该带她做一些特别的事情 让她感动 日常笔记 解决 Hbuilder工具点击发行打包 一直报尚未完成社区身份验证 请点击链接xxxxx 项目xxx发布H5失败的
  • QT之运行exe文件时缺少xxx.dll文件

    使用QT最大的好处和方便的可能就是他的输出为exe文件 将这个文件直接复制到其他人的电脑上便可以直接运行 十分的便捷 但是我们有时候我们发现我们自己写的QT生成的exe文件没有办法直接在自己的电脑上打开 或者有时候copy别人的项目时 发现
  • java中的几种加密方式

    第一种 DES加解密 import java security Key import java security SecureRandom import javax crypto Cipher import javax crypto Key
  • React-resize窗口监听

    import React useState useEffect useCallback from react 创建自定义函数来写入方法 function UseWillSize const size setSize useState wid
  • [CVPR-21] Scale-aware Automatic Augmentation for Object Detection

    Scale aware Automatic Augmentation for Object Detection code GitHub dvlab research SA AutoAug Scale aware Automatic Augm
  • Qt概述和项目文件介绍

    注意 学习本专栏的内容需要了解C 相关知识 会涉及到C 基础语法和相关特性 可以参考我的另一个专栏 c 从零开始 小梁今天敲代码了吗的博客 CSDN博客 目录 一 什么是Qt 二 Qt的案例 三 项目文件介绍 一 什么是Qt 是一个跨平台的
  • gRPC的介绍、安装与使用

    1 gRPC是什么 在 gRPC里客户端应用可以像调用本地对象一样直接调用另一台不同的机器上服务端应用的方法 使得您能够更容易地创建分布式应用和服务 与许多 RPC系统类似 gRPC也是基于以下理念 定义一个服务 指定其能够被远程调用的方法
  • OpenCV(四)——图像特征与目标检测

    课程一览 目录 1 图像特征的理解 2 形状特征描述 2 1 HOG原理 2 2 Harris 2 3 SIFT
  • android上java.util.ConcurrentModificationException错误解决

    今天在运行Android代码 发现程序崩溃了 发现错误为 java util ConcurrentModificationException 错误栈在list里面 然后 看异常变量 为list本身错误 笔者马上想起来了 list和vecto
  • 计算机网络--IP数据报格式

    解析 1 版本 占4位 指IP协议的版本 通信双方使用的IP协议版本必须一致 目前广泛使用的IP协议版本号为4 即IPv4 2 首部长度 占4位 可表示的最大十进制数值是15 请注意 这个字段所表示数的单位是32位字长 1个32位字长是4字
  • WIN10上UG10.0安装步骤及出错解决

    UG10 0安装步骤及出错解决 准备安装包UG10 0 安装软件 安装java虚拟机 运行launch 安装授权 安装主文件 破解 准备安装包UG10 0 下载链接 提取码 s4dh 安装软件 安装java虚拟机 以管理员身份运行 运行la
  • yaml文件的数据

    com alipay function test base TestData caseName 1 查询店铺详情 queryStoreDetailV2 description normal dataItems loginid 1342708
  • 使用JPA根据实体类生成数据库表

    springboot数据库 一 springboot JPA JPA springboot jpa 数据库的一系列的定义数据持久化的标准的体系 学习的目的是 利用springboot实现对数据库的操作 第一步 添加springboot da
  • 获取JavaScript时间戳函数的方法和js时间戳转时间方法

    文章目录 一 JavasCRIPT时间转时间戳 方法一 Date now 方法三 valueOf 方法四 getTime 方法五 Number 二 js时间戳转时间 方法一 生成 yyyy MM dd 上 下 午hh mm ss 格式 方法