如何将时间戳转化为时间格式化字符串

2023-11-07

问题描述:

通常服务器返回的时间都不以这种格式出现比如2021-6-1 20:08:30,通常会以Unix时间元年为起点,返回对应的时间戳,15355352553(时间戳)。 那么我们如何将时间戳转化为时间格式化字符串:
  • 首先将时间戳转化为Date对象
    const date = new Date(15355352553 * 1000)
  • 将date进行格式化,转化为对应的字符串
    formatDate(date, ‘yyyy/MM/dd hh:mm:ss’)

完整的步骤就是再组件中展现时间戳的地方加上一个过滤器showDate

filters: {
  showDate(value) {
    const date = new Date(value * 1000)
    return formatDate(date, 'yyyy/MM/dd hh:mm:ss')
//其中yyyy代表你想要显示几个数字如果是2021,就是'yyyy'
//想显示21,就是'yy'
  }
 }
}

其中的formatDate是封装好的一个匹配字符串的函数,里面运用了正则表达式来匹配字符串,源码如下:

export function formatDate(date, fmt) {
  if (/(y+)/.test(fmt)) {
 // y+代表一个或者多个y
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
//  RegExp.$1为全局对象匹配的字符串
//  (date.getFullYear() + '')是将转化的年份转化为字符串
//substr(4 - RegExp.$1.length)是对数据进行截取
  let o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  };
  for (let k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      let str = o[k] + '';
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
    }
  }
  return fmt;
};
//padLeftZero 这个函数可以让数字一定是两位,当出现一个数字会用0占位
function padLeftZero (str) {
  return ('00' + str).substr(str.length);
};



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将时间戳转化为时间格式化字符串 的相关文章

随机推荐

  • Linux下实用批处理脚本

    本文首发在我的个人博客 https jlice top p 7q1p8 欢迎大家前去参观 么么哒 经常需要在Linux下批量处理图片 想了想 还是写个实用的批处理小脚本一劳永逸 代码 SRC为待处理目录 DST为目标目录 也就是保存处理后的
  • RedHat系统NetworkManage网络管理工具简介及相关命令(lspci、lshw)

    1 RedHat网络管理工具简介 在早期的Linux发行版本中几乎所有的网络服务都是network服务 从RHEL7开始 红帽官方建议采用NetworkManage方式配置网络 而不建议再使用network服务这种传统的方式配置网络 因为网
  • C++中对象的动态建立与释放详解

    我们知道可以用new运算符可以动态的分配内存 用delete运算符可以释放这些内存 当我们使用new运算符动态的分配一个内存之后 会自动返回一个该内存段的起始地址 也就是指针 下面先给出一个new和delete基本应用的例子 回顾一下它的基
  • Python自动化工具(自动化操作)

    一 多层目录的遍历 1 绝对路径和相对路径 相对路径 此路径下的 比绝对路径短 绝对路径 完整的路径 根目录开始 C盘等 C 或 开始 2 不同系统的路径问题 import os 来适应不同系统 版本windows和liunx 3 多层级的
  • 最大堆 和 优先队列

    最大堆 MaxHeap java import java util Random 后面测试用 public class MaxHeap
  • Gan学习

    参考博客 https blog csdn net u010678153 article details 54629393 https www cnblogs com Charles Wan p 6238033 html GAN原理介绍 说到
  • Java框架!mysqlmd5解密

    并发编程三大特性 原子性 一个操作或者多次操作 要么所有的操作全部都得到执行并且不会受到任何因素的干扰而中断 要么所有的操作都执行 要么都不执行 对于基本数据类型的访问 读写都是原子性的 long和double可能例外 如果需要更大范围的原
  • CTF从入门到提升(十一)文件包含

    Include stdio h Import request 很多网站的admin 管理员 入口和user 用户 入口是分开的 登陆过程所调用的函数可能都是同一个函数 最后操作的表不同 如果调用的是同一个函数 网站一般分开两个文件存储 ad
  • JetBrains 各 IDE 通用快捷键总结(包括 InteliJ idea,PyCharm,RubyMine,GoLand 等)

    JetBrains 全家桶 IDE 集成开发环境 用起来很方便 而且快捷键都是通用的 至少绝大部分常用的快捷键是通用的 功能十分强大 还可以安装 ideaVim 等各种插件 熟练掌握对提高效率很有帮助 我会把常用的命令用红色粗体标记一下 C
  • STM32中GPIO的8种工作模式!

    一 推挽输出 可以输出高 低电平 连接数字器件 推挽结构一般是指两个三极管分别受两个互补信号的控制 总是在一个三极管导通的时候另一个截止 高低电平由IC的电源决定 推挽电路是两个参数相同的三极管或MOSFET 以推挽方式存在于电路中 各负责
  • T1串口波特率的计算方法

    T1的波特率 2 SMOD指数 32 定时器T1的溢出率 TI溢出率 TI计数率 产生溢出所需的周期数 具体来说 一个机器周期是晶振的频率f除以12 标准模式 每当计数到256 TH1溢出一次 定时器1工作在方式2 8位 使用11 0592
  • 数仓建模分层理论

    分层建设理论 简单点儿 直接ODS DM就可以了 将所有数据同步过来 然后直接开发些应用层的报表 当DM层的内容多了以后 想要重用 就会再拆分一个公共层出来 变成3层架构 这个过程有点类似代码重构 就是在实践中不断的进行抽象 总结 数仓的建
  • 计算工资

    某公司员工的工资计算方法如下 一周内工作时间不超过40小时 按正常工作时间计酬 超出40小时的工作时间部分 按正常工作时间报酬的1 5倍计酬 员工按进公司时间分为新职工和老职工 进公司不少于5年的员工为老职工 5年以下的为新职工 新职工的正
  • Nginx的重写功能——Rewrite

    目录 Nginx常见模块 nginx内置模块 nginx配置文件的常见模块 location模块 常见的正则表达式 location常用的匹配规则 Rewrite模块 Rewrite功能 Rewrite跳转场景 Rewrite跳转实现 语法
  • git:在提交后修改历史提交的作者并同步修改历史commit

    Reset author after author has been changed in the global config 参考 https github com 521xueweihan git tips 同时里面还有其他的git使用
  • 什么是敏捷测试?

    敏捷测试是一种遵循敏捷软件开发规则和原则的测试实践 与瀑布方法不同 敏捷测试可以在项目开始时就开始进行 而开发和测试之间会不断进行集成 敏捷测试方法不是连续的 从某种意义上说 它仅在编码阶段之后执行 而是连续的 敏捷测试计划 敏捷测试计划包
  • Vue+ElementUI+Echarts的地图DOM

    地图图表的开发在我们开发的过程中就很常见 特别是在开发大屏的时候 最近在进行地图图表的开发 就单独用引入的方式来记录一个DOM 让大家一起学习下 示例图 从上图可以看到 这个主要是就是对地图做个一个展示 省份的高亮 各个板块的颜色修改的一些
  • docker安装hbase

    1 下载docker与hbase docker 的下载与安装请参考 https blog csdn net weixin 35757704 article details 114777186 docker pull harisekhon h
  • Vue全局后置守卫

    全局后置守卫 一 在 router 目录下的 index js 文件中配置全局后置守卫 import Vue from vue import VueRouter from vue router Vue use VueRouter impor
  • 如何将时间戳转化为时间格式化字符串

    问题描述 通常服务器返回的时间都不以这种格式出现比如2021 6 1 20 08 30 通常会以Unix时间元年为起点 返回对应的时间戳 15355352553 时间戳 那么我们如何将时间戳转化为时间格式化字符串 首先将时间戳转化为Date