JavaScript获取和操作时间戳的用法详解

 更新时间:2025年04月21日 09:22:19   作者:人才程序员  
这篇文章主要介绍了JavaScript获取和操作时间戳的相关资料,时间戳通常用于记录时间、计算时间差、生成唯一的标识符等,文章详细讲解了如何使用Date.now()和new Date().getTime()获取当前时间戳,需要的朋友可以参考下

前言

时间戳在编程中有着非常广泛的应用,比如记录事件发生的时间、计算时间差、生成唯一的标识符等等。理解时间戳的使用非常重要,今天我们将一起来探讨如何在 JavaScript 中获取和操作时间戳。⏰

一、什么是时间戳? 

时间戳(Timestamp)是指自 1970年1月1日 00:00:00 UTC 到某个指定时间的毫秒数。它是计算机系统中最常用的时间表示方式。这个时间标准被称为 Unix 时间戳 或 POSIX 时间戳

二、JavaScript 获取当前时间戳 

在 JavaScript 中,获取当前的时间戳非常简单,通常有两种常用的方法:

2.1 使用 Date.now() 获取时间戳

Date.now() 返回的是自 1970 年 1 月 1 日 UTC 以来经过的毫秒数。这是一个非常简单且常用的获取时间戳的方法。

示例:

const timestamp = Date.now();
console.log(timestamp);  // 输出当前的时间戳(单位:毫秒)

2.2 使用 new Date().getTime() 获取时间戳

new Date().getTime() 也返回当前的时间戳,和 Date.now() 类似。两者的区别在于,Date.now() 是静态方法,而 new Date() 是实例化对象后调用。

示例:

const timestamp = new Date().getTime();
console.log(timestamp);  // 输出当前的时间戳(单位:毫秒)

三、时间戳的应用场景 

3.1 获取当前时间并计算时间差

通过时间戳,你可以轻松计算两个时间之间的差异。假设你需要计算某个任务的执行时间,你可以记录任务开始和结束时的时间戳,然后通过相减得到耗时。

示例:

// 任务开始时间
const start = Date.now();

// 模拟任务执行
setTimeout(() => {
  // 任务结束时间
  const end = Date.now();

  // 计算耗时(单位:毫秒)
  const duration = end - start;
  console.log(`任务执行时间:${duration} 毫秒`);
}, 2000);

3.2 转换时间戳为日期时间格式

时间戳通常是一个数字,但我们经常需要将其转换为易读的日期格式。在 JavaScript 中,你可以使用 Date 对象将时间戳转换为日期。

示例:

const timestamp = Date.now();
const date = new Date(timestamp);
console.log(date.toString());  // 输出类似 "Sat Feb 23 2025 12:34:56 GMT+0800 (中国标准时间)" 的日期格式

你也可以使用 toLocaleString() 方法将日期格式化为特定的本地格式。

const dateStr = date.toLocaleString();
console.log(dateStr);  // 输出类似 "2025/2/23 下午12:34:56" 的本地日期时间格式

3.3 将日期时间转换为时间戳

如果你有一个特定的日期,并希望将其转换为时间戳,可以通过 Date.parse() 方法来实现。该方法将一个表示日期的字符串转化为时间戳。

示例:

const dateStr = "2025-02-23T12:00:00";
const timestamp = Date.parse(dateStr);
console.log(timestamp);  // 输出时间戳(单位:毫秒)

3.4 时间戳与计时器

时间戳还广泛应用于控制和记录定时器(如 setTimeout 和 setInterval)的执行时间。你可以利用时间戳计算任务间隔和延迟。

示例:

const start = Date.now();
setInterval(() => {
  const elapsed = Date.now() - start;
  console.log(`已运行时间:${elapsed} 毫秒`);
}, 1000);  // 每秒打印一次已运行的时间

四、总结 

时间戳在 JavaScript 中非常有用,常常用于记录时间、计算时间差和处理异步操作。掌握如何获取和操作时间戳,可以让你更高效地进行时间计算和时间相关的操作。

概念说明示例代码
获取当前时间戳使用 Date.now() 或 new Date().getTime() 获取当前时间的时间戳。const timestamp = Date.now();
计算时间差通过记录开始时间和结束时间的时间戳,计算时间差。const duration = end - start;
时间戳转换为日期格式使用 new Date(timestamp) 将时间戳转换为日期对象,然后格式化为字符串。const date = new Date(timestamp); console.log(date.toString());
日期转换为时间戳使用 Date.parse() 将日期字符串转换为时间戳。const timestamp = Date.parse('2025-02-23T12:00:00');
时间戳与定时器的结合使用时间戳与定时器(setTimeout / setInterval)结合来控制时间。setInterval(() => { const elapsed = Date.now() - start; }, 1000);

希望通过这篇文章,你对 JavaScript 中的时间戳有了更清晰的了解。

附:倒计时抽奖案例

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>简单易用的倒计时js代码</title>
<style>
*{ margin:0; padding:0; list-style:none;}
body{ font-size:18px; text-align:center;}
.time{ height:30px; padding:200px;}
</style>
</head>
<body>
    <div class="time">
        <span id="t_d">00天</span>
        <span id="t_h">00时</span>
        <span id="t_m">00分</span>
        <span id="t_s">00秒</span>
    </div>
<script>
   function GetRTime(){
   		//双十一倒计时抽奖
       var EndTime= new Date('2018/11/11 00:00:00');
       var NowTime = new Date();
       var t =EndTime.getTime() - NowTime.getTime();
       var d=Math.floor(t/1000/60/60/24);
       var h=Math.floor(t/1000/60/60%24);
       var m=Math.floor(t/1000/60%60);
       var s=Math.floor(t/1000%60);

       document.getElementById("t_d").innerHTML = d + "天";
       document.getElementById("t_h").innerHTML = h + "时";
       document.getElementById("t_m").innerHTML = m + "分";
       document.getElementById("t_s").innerHTML = s + "秒";
   }
   setInterval(GetRTime,0);
  
</script>
</body>
</html> 

到此这篇关于JavaScript获取和操作时间戳用法详解的文章就介绍到这了,更多相关JS时间戳使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • HTML中的setCapture和releaseCapture使用介绍

    HTML中的setCapture和releaseCapture使用介绍

    setCapture函数的作用就是将后续的mouse事件都发送给这个对象,releaseCapture就是将鼠标事件还回去,由 document、window、object之类的自行来处理。这样就保证了在拖动的过程中,不会由于经过了其它的元素而受到干扰
    2012-03-03
  • Django 中的templates使用示例详解

    Django 中的templates使用示例详解

    Django模板系统提供了一套丰富的工具集,能够帮助开发者将动态数据有效地渲染到HTML页面中,它通过特殊的语法支持变量插入、逻辑标签和过滤器的使用,本文给大家介绍Django 中的templates使用,感兴趣的朋友一起看看吧
    2024-10-10
  • Javascript的各种节点操作实例演示代码

    Javascript的各种节点操作实例演示代码

    实例演示对javascript的节点的各种操作。包括hasChildNodes(),removeChild(),appendChild(),replaceChild(),insertBefore(),cloneNode()等
    2012-06-06
  • 微信小程序 scroll-view 水平滚动实现过程解析

    微信小程序 scroll-view 水平滚动实现过程解析

    这篇文章主要介绍了微信小程序 scroll-view 水平滚动实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • js函数内变量的作用域分析

    js函数内变量的作用域分析

    这篇文章主要介绍了js函数内变量的作用域分析,以实例形式简单分析了js函数的变量调用顺序,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • JS实现随机点名器

    JS实现随机点名器

    这篇文章主要为大家详细介绍了JS实现随机点名器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • 极致之美——百行代码实现全新智能语言

    极致之美——百行代码实现全新智能语言

    极致之美——百行代码实现全新智能语言...
    2007-03-03
  • JS中产生20位随机数以0-9为例也可以是a-z A-Z

    JS中产生20位随机数以0-9为例也可以是a-z A-Z

    本节主要介绍了JS如何产生随机数,本例产生20位随机数以0-9为例也可以是a-z A-Z,需要的朋友可以参考下
    2014-08-08
  • JavaScript如何实现元素全排列实例代码

    JavaScript如何实现元素全排列实例代码

    这篇文章主要给大家介绍了关于JavaScript如何实现元素全排列的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • window.onload 加载完毕的问题及解决方案(上)

    window.onload 加载完毕的问题及解决方案(上)

    我们经常使用 window.onload 来处理页面,当页面加载完成做一些事情。但这个 window.onload 是页面全部加载完成,甚至包括图片,而我们实际上经常需要的是文档 DOM 加载完毕!
    2009-07-07

最新评论