当前位置: 首页 > news >正文

js前端格式化日期函数

开发需求

在前端中我们通常使用new Date()函数获取到的日期时间是下面这种样子:Thu Jun 06 2024 17:29:11 GMT+0800 (中国标准时间),我们想要把它转换成常见的指定格式,比如

  • 年-月-日 时:分:秒
  • 年/月/日 时:分:秒
  • 年-月-日
  • 年/月/日

所以就封装了这个公共方法,类似于 python 中的时间处理函数 strftime()

方法使用

该方法传入两个参数, date (时间)和 format(指定格式化格式)

  • date:日期时间,Date()类型,默认是new Date()
  • format:指定格式化格式,默认是 YY-MM-DD,即就是年-月-日

返回:返回的结果就是根据当前时间格式化后 年月日 时分秒

formatDate(new Date(), 'YY/MM/DD h:m:s')   // 2024/6/6 17:20:41
formatDate(new Date(), 'YY-MM-DD h:m:s')   // 2024-6-6 17:20:55
formatDate(new Date(), 'YY/MM/DD')   // 2024/6/6
formatDate(new Date(), 'YY-MM-DD')   // 2024-6-6

代码实现

/*** @description 格式化日期函数* @param date Date* @param format 'YY-MM-DD'* @returns {string}*/
export const formatDate = (date = new Date(), format = 'YY-MM-DD') => {let year = date.getFullYear();let month = date.getMonth() + 1;let today = date.getDate();let hour = date.getHours()let minute = date.getMinutes()let second = date.getSeconds()let currentTime;switch (format) {case "YY-MM-DD h:m:s":currentTime = `${year}-${month}-${today} ${hour}:${minute}:${second}`;break;case "YY/MM/DD h:m:s":currentTime = `${year}/${month}/${today} ${hour}:${minute}:${second}`break;case "YY/MM/DD":currentTime = `${year}/${month}/${today}`break;case "YY-MM-DD":currentTime = `${year}-${month}-${today}`break;default:currentTime = `${year}/${month}/${today}`break}return currentTime;}

测试

formatDate(new Date(), 'YY/MM/DD h:m:s')   // 2024/6/6 17:20:41
formatDate(new Date(), 'YY-MM-DD h:m:s')   // 2024-6-6 17:20:55
formatDate(new Date(), 'YY/MM/DD')   // 2024/6/6
formatDate(new Date(), 'YY-MM-DD')   // 2024-6-6
http://www.lryc.cn/news/365402.html

相关文章:

  • 五个超实用的 ChatGPT-4o 提示词
  • 基于51单片机多功能防盗报警proteus仿真( proteus仿真+程序+设计报告+原理图+讲解视频)
  • gitee和github的协同
  • 压力测试-性能指标-Jmeter使用-压力测试报告
  • 通过Slf4j中的MDC实现在日志中添加用户IP功能
  • 代码随想录算法训练营第四十九天| 139.单词拆分、背包问题总结
  • STM32F103VE和STM32F407VE的引脚布局
  • 搜维尔科技:使用 Xsens 动作捕捉技术创建栩栩如生的动画
  • 鸿蒙开发 一 (三)、ArkTS开发实战上
  • TensorRT教程(1)初探TensorRT
  • 多表连接查询和子查询
  • 数据挖掘与机器学习——聚类算法
  • QT快速下载
  • 最短路问题
  • spark MLlib 中的分类模型
  • 24上半年报考人数“不增反降”?备考下半年软考的难了......
  • 初出茅庐的小李博客之使用立创开发板(ESP32)连接到EMQX Platform【MQTT TLS/SSL 端口连接】
  • js平滑滚动元素使其可见
  • TP6 事件绑定、监听、订阅
  • SpringCloud Gateway中Filters详细说明
  • 力扣2156.查找给定哈希值的子串
  • 推荐低成本低功耗的纯数字现场可重构IC
  • 解决change事件与blur事件互不影响
  • 后端开发面经系列 -- 同程旅行C++一面
  • 推荐几个开源的c#的工作流引擎组件
  • 视频汇聚EasyCVR视频监控云平台对接GA/T 1400视图库对象和对象集合XMLSchema描述
  • 【JavaScript脚本宇宙】瞬息万变:探索实时Web应用的JavaScript库
  • Java数据结构与算法(有向无环图)
  • QuanTA: 一种新的高秩高效微调范式
  • 【漏洞复现】用友NC downCourseWare 任意文件读取漏洞