小白对于将 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 时间戳的转换问题的更多相关文章

  1. 在不同编程语言中对Unix时间戳进行转换(Unix timestamp)

    最近用到unix时间转换在mysql和.net中的应用.将此资料保存在博客中. 如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript ...

  2. unix时间戳的转换

    UNIX时间戳转换为日期用函数: FROM_UNIXTIME() select FROM_UNIXTIME(1156219870); 日期转换为UNIX时间戳用函数: UNIX_TIMESTAMP() ...

  3. C#中系统时间和UNIX时间戳互相转换

    在项目开发过程中,有时会遇到不同程序之间相互调用数据,数据中不免会包含时间,比如ASP.NET调用PHP,牵扯到时间就要做一下处理,PHP程序中一般存取的都是UNIX时间,不像ASP.NET存储的是年 ...

  4. C#DateTime与Unix时间戳的转换

    /// <summary> /// Unix时间戳转为C#格式时间 /// </summary> /// <param name="timeStamp" ...

  5. c#DateTime与unix时间戳互相转换

    public class UnixTimeUtil { /// <summary> /// 将dateTime格式转换为Unix时间戳 /// </summary> /// & ...

  6. Java 日期时间与unix时间戳之间转换

    日期时间  <-->  时间戳 java.time 包提供的新的日期和时间API LocalDateTime: 本地日期时间类 ZoneId: 时区类 ZonedDateTime: 带时区 ...

  7. JavaScript对UNIX时间戳的转换

    <script type="text/javascript"> var timestamp = '1479886513'; var d = new Date(times ...

  8. Unix时间戳转换怎样在Excel批量修改?

    最近在操作项目的时候碰到一个Unix时间戳转换的问题."date_time":1393031347这个是什么,你知道吗?如果你对Unix时间戳了解的话一眼就看出来.但我们本着科普的 ...

  9. Unix时间戳转换成C#中的DateTime

    先交代一下应用场景:我们的软件需要做一个简单的有效期验证保护.初始的想法是 在本地将安装时间.启动时间.当前时间做比较,为了防止记录被修改,记录在注册表的特殊的地方并加密. 我使用了.net自带的rs ...

  10. C#中DateTime.Ticks属性及Unix时间戳转换

    1.相关概念 DateTime.Ticks:表示0001 年 1 月 1 日午夜 12:00:00 以来所经历的 100 纳秒数,即Ticks的属性为100纳秒(1Ticks = 0.0001毫秒). ...

随机推荐

  1. Random库用法详解

    梅森旋转算法实现 基本随机数函数 seed(a=None): 初始化给定的随机数种子,默认为当前系统时间. 只要随机数种子相同,产生的随机数序列也相同. random(): 生成一个[0.0,1.0] ...

  2. SpringBoot配置文件加载

    Spring Boot 配置文件加载是通过 Spring Boot 的自动配置机制实现的,它可以根据不同的环境加载不同的配置文件,包括 application.properties.applicati ...

  3. 白帽子讲web安全

    世界安全观 Web安全筒史 起初,研究计算机系统和网络的人,被称为"Hacker","Hacker"在中国按照音译,被称为"黑客" 对于现代 ...

  4. CKS 考试题整理 (14)-启用API Server认证

    Context 由 kubeadm 创建的cluster 的kubernetes API 服务器,出于测试目的, 临时配置允许未经身份验证和未经授权的访问,授予匿名用户 cluster-admin 的 ...

  5. AuthenticationException异常无法被全局异常捕获的解决办法

    我们可以先看一下为什么不能被捕获? 很明显JwtFilter的祖宗是Fliter,而我们自己定义的全局异常处理器@RestControllerAdvice 这个注解是 @ControllerAdvic ...

  6. 特性介绍 | MySQL测试框架 MTR 系列教程(四):语法篇

    作者:卢文双 资深数据库内核研发 序言: 以前对 MySQL 测试框架 MTR 的使用,主要集中于 SQL 正确性验证.近期由于工作需要,深入了解了 MTR 的方方面面,发现 MTR 的能力不仅限于此 ...

  7. Vue + Volo.Abp 实现Auth2.0客户端授权模式认证

    @ 目录 注册Client Auth2.0授权 创建vue-oidc-client 创建Auth2.0认证跳转 获取令牌 创建回调页面 创建退出登录 最终效果 Volo.Abp的身份服务器模块默认使用 ...

  8. 【最新】Delphi XE7 绿色版下载,亲测可用!

    最后更新时间 2017-12-05. 本文整理自2ccc盒子iny的帖子 → 链接到原贴 破解 → 链接 一.绿色版介绍 绿色版除了不包含 FastReport(RAD Studio自带的FastRe ...

  9. MybatisPlus的各种查询方法

    MybatisPlus的各种查询方法 合并转载于https://my.oschina.net/u/241218/blog/1838534/和https://my.oschina.net/u/24275 ...

  10. Spring-Bean(三)

    Bean生命周期配置 init-method:指定类中的初始化方法名称 destory-method:指定类中销毁方法名称 Bean标签配置 <bean id="UserDao&quo ...