JS时间格式转换实战:标准格式、时间戳与年月日时分秒互转

作者:资源驿站时间:2026-10-30 19:19:10浏览:493

本文总结JavaScript中常见时间格式的转换方法,涵盖标准时间格式、Unix时间戳以及YYYY-MM-DD HH:mm:ss格式的相互转换。通过解析new Date()对象及封装formDate工具函数,提供后端不同时间参数下的前端统一处理方案,帮助开发者避免格式不一致带来的兼容性问题。

前言

本文主要总结项目中常见时间格式的处理方法。首先,通过new Date()可以获取表示当前时间的Date对象,其输出为时间的标准格式。但在前端展示时,通常需要转换为便于用户阅读的特定格式,本文重点讲解2022-01-27 00:00:00(年月日时分秒)格式这种格式的转换。

一、new Date()对象解析

1. new Date()的含义

new是JavaScript中的运算符,用于实例化类。Date即为时间类,new Date()的作用是创建一个表示当前时间的Date实例,其默认输出为标准时间格式。

let time = new Date()
console.log(time)//Thu Jan 27 2022 10:36:59 GMT+0800 (中国标准时间)

2. 实际应用场景

后端返回的时间参数格式往往不统一,缺乏规范的开发团队中,不同项目返回的时间格式各异。虽然可以与后端协商统一格式,但为减少沟通成本并避免不必要的争执,前端自行处理格式转换是更高效的方案。

首先需确认后端返回的时间格式。常见格式主要有两种,若遇到其他格式,欢迎在评论区或私信补充,感谢各位分享。

时间戳转2022-01-27 00:00:00(年月日时分秒)格式

this.formDate(new Date(1643126400), "yyyy-MM-DD HH:mm:ss")

2022-01-27 00:00:00转时间戳

let curDate = Date.parse(new Date('2022-01-27 00:00:00'))

二、格式化工具函数封装

1. 函数调用方式

this.formDate(this.datetime, "yyyy-MM-DD HH:mm:ss")

示例中红色方框内的时间格式为自定义设定,开发者可根据实际需求进行调整。

前言

2. 核心代码实现

formDate(data, format) {
      // console.log("data,time");
      let time = {
        "M+": data.getMonth() + 1,
        "D+": data.getDate(),
        "H+": data.getHours(),
        "m+": data.getMinutes(),
        "s+": data.getSeconds(),
      };
      if (/(y+)/i.test(format)) {
        format = format.replace(
          RegExp.$1,
          (data.getFullYear() + "").substr(4 - RegExp.$1.length)
        );
      }
      for (let k in time) {
        if (new RegExp("(" + k + ")").test(format)) {
          format = format.replace(
            RegExp.$1,
            RegExp.$1.length === 1
              ? time[k]
              : ("00" + time[k]).substr(("" + time[k]).length)
          );
        }
      }
      return format;
    }

到此这篇关于JS如何将时间的标准格式和时间戳格式和2022-01-27 00:00:00(年月日时分秒)格式相互转换的文章就介绍到这了,更多相关js时间标准格式和时间戳格式转换内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

作者最新文章