vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > unix时间戳

unix时间戳转换的方法详解

作者:BOBO~

将 unix 时间戳转换为日期时间和使用日期时间转换为 unix 时间戳,在项目中常常用到,其中vue中的moment库很是方便,下面小编就来为大家讲讲具体使用吧

小白对于将 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时间戳内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文