JavaScript时间函数和格式化时间戳实践
目录
2. 获取特定时间
3. 获取时间戳
4. 格式化时间戳为字符串
5. 计算时间差
6. 将时间字符串转化成时间戳
总结
Node.js进阶之使用 superagent 与 cheerio 模块详解,并实现简单的爬虫案例
Node.js开发进阶之JavaScript函数的命名方式和自执行匿名函数详解
JavaScript中有许多用于处理时间和日期的内置函数和方法。这些函数和方法可以帮助我们获取当前时间、格式化时间戳、计算时间差等。本文将详细介绍JavaScript中常用的时间函数和如何格式化时间戳。
本篇原文: JavaScript时间函数和格式化时间戳实践
更多关于JavaScript相关的技术点,请关注下方公众号CTO Plus
1. 获取当前时间
JavaScript提供了`Date`对象来表示时间和日期。可以使用`new Date()`来创建一个表示当前时间的`Date`对象。
let now = new Date(); //创建对象,返回当前时间戳
// 输出当前时间的日期和时间
console.log(now, typeof now); // 2023-06-23T14:26:35.445Z object
2. 获取特定时间
除了获取当前时间,我们还可以通过传递参数给`Date`对象来获取特定的时间。
let specificTime = new Date(2023, 6, 23, 12, 30, 0);
console.log(specificTime, typeof specificTime);//2023-07-23T04:30:00.000Z object
在上面的例子中,我们传递了年、月、日、小时、分钟和秒作为参数,以获取特定的时间。
3. 获取时间戳
时间戳是指从1970年1月1日午夜(格林威治时间)开始经过的毫秒数。可以使用`Date`对象的`getTime()`方法来获取当前时间的时间戳。获得时间戳可以使用Date.now()和date.getTime()两种方法。
使用Date.now() 获得当前时间戳,属于静态方法,无需创建对象
console.log(Date.now()); // 1687530990595
let timestamp = new Date().getTime();
// 输出当前时间的时间戳
console.log(timestamp, now.getTime(), typeof timestamp); // 1687530604090 1687530604072 number
4. 格式化时间戳为字符串
格式化时间戳是将时间戳转换为特定的时间格式。JavaScript中没有内置的格式化时间戳的函数,但可以使用一些方法来实现。
function formatTimestamp(timestamp) {
let date = new Date(timestamp);
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
let hours = date.getHours();
let minutes = date.getMinutes();
let seconds = date.getSeconds();
return `${year}-${addZero(month)}-${addZero(day)} ${addZero(hours)}:${addZero(minutes)}:${addZero(seconds)}`;
}
function addZero(num) {
return num < 10 ? `0${num}` : num;
}
let formattedTime = formatTimestamp(timestamp);
// 输出格式化后的时间字符串
console.log(formattedTime); // //2023-06-23 22:31:51 string
在上面的例子中,我们定义了一个`formatTimestamp()`函数,它接受一个时间戳作为参数,并返回格式化后的时间字符串。我们使用`Date`对象的方法获取年、月、日、小时、分钟和秒,并使用`addZero()`函数在数字小于10时添加前导零。
5. 计算时间差
JavaScript中可以使用`Date`对象的方法来计算时间差。例如,可以使用`getTime()`方法获取两个时间的时间戳,然后计算它们之间的差值。
let startTime = new Date(2023, 6, 23, 12, 0, 0);
let endTime = new Date(2023, 6, 23, 13, 30, 0);
let diff = endTime.getTime() - startTime.getTime();
//输出时间差的毫秒数
console.log(diff, typeof diff); //5400000 number
在上面的例子中,我们创建了两个`Date`对象来表示开始时间和结束时间,然后使用`getTime()`方法获取它们的时间戳,并计算它们之间的差值。
6. 将时间字符串转化成时间戳
Date.parse() 将时间字符串转化成时间戳
console.log(Date.parse("2023-06-23 22:31:51")); // 1687530711000,静态方法
总结
JavaScript提供了许多用于处理时间和日期的内置函数和方法。通过`Date`对象,我们可以获取当前时间、特定时间、时间戳,以及计算时间差。对于格式化时间戳,虽然JavaScript没有内置的函数,但可以使用自定义的方法来实现。在实际开发中,根据具体的需求选择合适的时间函数和方法来处理时间和日期。
大前端专栏
https://blog.csdn.net/zhouruifu2015/category_5734911
更多精彩,关注我公号,一起学习、成长
Node.js系列文章推荐阅读:
-
JavaScript匿名函数的定义、特性、作用和使用场景详解
-
Node.js之正则表达式的使用方法详解和实战
-
Node.js测试之benchmark基准测试详解和代码示例
-
Node.js重点概念之作用域、闭包、this的使用详解和代码示例
-
Node.js基本概念、特点、用途和常用模块,以及Express框架开发一个web应用
-
Node.js开发框架Express.js做一个简单的Web应用以及代码详解
-
Node.js高并发编程之promise的基本使用、作用和特点详细介绍以及代码示例
-
Node.js数据库开发之Mongodb 与 Mongoose 的使用和详细介绍
-
Node.js基础之require、exports、module构建模块的基本属性详细介绍
-
Node.js并发编程eventproxy详解与代码示例
-
Node.js之10个JavaScript的最佳实践技能点(1)
-
Node.js的热门框架:Midway.js特点、应用场景和使用方法介绍
-
Node.js的热门框架:Nest.js特性、常用功能和代码示例介绍以及与Midway.js的对比分析
-
JavaScript箭头函数的基本使用和高级使用方法详解
-
开源项目 | 最热门高效的Node.JS开源第三方开发库和特点(持续更新......)
-
前端开发技术栈(工具篇):2023最新版nvm的Win/Linux安装和使用(详细) 27.8k stars
-
弄清楚Node.js的功能特性、运行时、组成和发展趋势分析以及与JavaScript的区别
-
学习Node.js的9大理由以及日常开发中的14个高级特性和代码示例分享
-
Node.js浏览器端功能测试之mocha、chai、phantomjs的功能特性、断言和覆盖率测试实战案例详解
-
Node.js后端功能测试之mocha、should、istanbul的功能特性、断言和覆盖率测试实战案例详解
-
开源项目 | JavaScript最热门的25个前端开发插件(库)总结
-
Node.js几个非常有用的全局对象、全局变量和全局函数详解
-
Node.js之heroku简化应用部署和管理的利器详细介绍和使用案例
-
Node.js进阶之使用 superagent 与 cheerio 模块详解,并实现简单的爬虫案例
-
Node.js开发进阶之JavaScript函数的命名方式和自执行匿名函数详解
大前端专栏
https://blog.csdn.net/zhouruifu2015/category_5734911https://blog.csdn.net/zhouruifu2015/category_5734911Node.js专栏
https://blog.csdn.net/zhouruifu2015/category_5728369.htmlhttps://blog.csdn.net/zhouruifu2015/category_5728369.html
更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。
关于公众号的描述访问如下链接
关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q
推荐阅读:
-
开源项目 | JavaScript最热门的25个前端开发插件(库)总结
-
前端开发技术栈(模板篇):10款较流行的前端后台管理系统模板
-
50+款前端高效开发辅助工具总结
SteveRocket: 也可以点击文章末尾的推荐阅读 的链接 那个的排版稍微好点
SteveRocket: 可以的。他这个排版太浪费时间, 我后面写个程序格式化下
牙齿和爪子: 楼主能不能把编号改一下,后面每个编号都是1
Serendipty#: Python 3的简洁语法、增强的库支持以及更好的错误处理,显著提高了开发效率和代码可读性。其异步编程和类型注解等特性,进一步促进了代码的优化和可维护性。
Floracyun4: 哈喽,有使用了插件吗?是否有用呢?