it编程 > 编程语言 > Javascript

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

2人参与 2025-04-24 Javascript

前言

时间戳在编程中有着非常广泛的应用,比如记录事件发生的时间、计算时间差、生成唯一的标识符等等。理解时间戳的使用非常重要,今天我们将一起来探讨如何在 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时间戳使用内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

ReactNative环境搭建的教程

04-24

通过Vue实现Excel文件的上传和预览功能

04-24

JavaScript实现给浮点数添加千分位逗号的多种方法

04-24

Node使用Puppeteer监听并打印网页的接口请求

04-24

webpack 中 chunks配置和使用详解

04-24

在Node.js中设置响应的MIME类型的代码详解

04-24

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论