gpt4 book ai didi

小白弄明白了unix时间戳的转换问题

转载 作者:我是一只小鸟 更新时间:2023-09-05 14:31:42 26 4
gpt4 key购买 nike

小白对于将 unix 时间戳转换为日期时间和使用日期时间转换为 unix 时间戳,在项目中见到过很多,每次使用时不是用现有的方法转换就是网上搜索方法.

小白见过各种转换方式觉得moment库很是方便,但是用法较多,所以小白决定整理一下。以后再遇到时间日期转换可能手写代码而省去翻看资料的时间.

vue中使用moment.js库需要通过  npm install moment    来安装.

在使用时需要通过    import moment from 'momennt'    来引入组件中.

1. 这里是一些常见的用法:

                        
                          currentDate: moment().format('YYYY-MM-DD'), // 获取当前日期
currentTime: moment().format('HH:mm:ss'), // 获取当前时间
formattedDate: moment('2023-08-25').format('MMMM Do YYYY'), // 格式化日期
diffInDays: moment('2023-08-25').diff(moment(), 'days'), // 计算日期差异
isLeapYear: moment('2023-08-25').isLeapYear() // 检查是否是闰年
                        
                      

下面开始演示 日期和 Unix 时间戳 的转换

1. 使用 moment 将日期转换为Unix时间戳:

                        
                          const dateInt = moment('2023-08-25').valueOf(); 1800000000000
//valueOf() 方法将 Moment 对象转换为 Unix 时间戳 (自UTC时间 1970年 1月 1日零点以来的毫秒数)
                        
                      

2. 使用 moment 将时间转换为 Unix 时间戳,再转换回时间 。

                        
                          const unixTimestamp = moment('2023-08-25 17:56:00').unix(); // 转换为 Unix 时间戳
const formattedDate = moment.unix(unixTimestamp).format('YYYY-MM-DD HH:mm:ss'); // 格式化日期时间
console.log(unixTimestamp); // 输出:1671963360
console.log(formattedDate); // 输出:2023-08-25 17:56:00
                        
                      

特别注意: unix()和valueOf()的区别,valueOf 获取日期对象的毫秒级时间戳,unix 获取日期对象的秒级时间戳。而 Unix 时间戳一般是秒级的.

moment 中还有一个处理时区的插件 tz,它允许我们在具体的时区进行日期和时间的转换和处理。

1. vue中使用 tz 需要安装moment库 和 moment-timezone 插件。可以使用npm 或 yarn 进行安装  npm install moment moment-timezone 。

2. 在组件中使用时,需要引入 。

                        
                          import moment from 'moment';
import 'moment-timezone';
                        
                      

3. 下面是一些常见用法 。

                        
                          // 获取当前时间,并将其转换为指定时区的时间
const now = moment();
const nyTime = moment.tz(now, 'America/New_York');
	    
// 使用指定时区创建一个 Moment 对象
const parisTime = moment.tz('2023-08-31 12:00', 'Europe/Paris');
	    
// 将时间从当前时区转换为目标时区
const londonTime = moment.tz('2023-08-31 12:00', 'Europe/London').tz('America/New_York');
	    
// 获取所有可用的时区
const timezones = moment.tz.names();
	    
// 获取指定时区在当前时间的偏移量(以分钟为单位)
const offset = moment.tz('America/New_York').utcOffset();
                        
                      

    tz 还可以配合 format 一起使用:

                        
                          moment.tz('2022-12-31 23:59:59', 'America/New_York').format('YYYY-MM-DD HH:mm:ss z')
//或者
const time = '2022-12-31 23:59:59';
const tz = 'America/New_York';
const fmt = 'YYYY-MM-DD HH:mm:ss z';
const formattedDateTime = moment(time).tz(tz).format(fmt);
//第二种方式为旧版本使用方式
                        
                      

虽然是一个小工具库,但是项目中使用率还挺高,所以小白觉得值得用心整理。整理的过程也是自己学习的过程,同时也能够当作笔记,在遗忘时再回来翻看。小白希望通过这次整理能够完全掌握menent 库的使用,以便在以后的项目,遇到处理时间日期格式时,不需要查询资料,能够闭眼手写代码,提高效率节省时间.

最后此篇关于小白弄明白了unix时间戳的转换问题的文章就讲到这里了,如果你想了解更多关于小白弄明白了unix时间戳的转换问题的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com