首页 > 其他分享 >一个格式化时间戳的函数

一个格式化时间戳的函数

时间:2023-12-07 10:25:29浏览次数:30  
标签:regex 12 格式化 函数 fmt DataFormat 时间 console data

 1       const DataFormat = (fmt, date) => {
 2         let data = new Date(date);
 3         if (isNaN(data)) {
 4           data = new Date();
 5         }
 6         (() => {
 7           const o = {
 8             'y+': data.getFullYear(),
 9             'M+': data.getMonth() + 1, // 月份
10             'd+': data.getDate(), // 日
11             'H+': data.getHours(), // 小时
12             'm+': data.getMinutes(), // 分
13             's+': data.getSeconds(), // 秒
14             'q+': Math.floor((data.getMonth() + 3) / 3), // 季度
15             S: data.getMilliseconds() // 毫秒
16           };
17           for (const k in o) {
18             const regex = new RegExp(k); // 使用new RegExp创建正则表达式
19             if (regex.test(fmt)) { // 检查fmt中是否存在对应的日期格式
20               fmt = fmt.replace(
21                 regex,
22                 fmt.match(regex)[0].length === 1
23                   ? o[k]
24                   : ('00' + o[k]).slice(-fmt.match(regex)[0].length)
25 
26               );
27             }
28           }
29         })();
30         return fmt;
31       };
 1 console.log(DataFormat('yy-MM-ddTHH:mm:ss', new Date('07 09 2323')));
 2 // 23-07-09T00:00:00
 3 
 4 console.log(DataFormat('yyyy/MM/dd HH:mm:ss'));
 5 // 2023/12/07 10:11:09
 6 
 7 console.log(DataFormat('yyyy/MM/dd HH:mm:ss', 'abc'));
 8 // 2023/12/07 10:11:09
 9 
10 console.log(DataFormat('yyyy-M-d HH:mm:s', 1701915069821));
11 // 2023-12-7 10:11:9
12 
13 console.log(DataFormat()); 
14 // 2023-12-07

 

标签:regex,12,格式化,函数,fmt,DataFormat,时间,console,data
From: https://www.cnblogs.com/yadayou/p/17881109.html

相关文章

  • Go--字符串函数
    示例:packagemainimport("fmt""strings")funcmain(){//strings.Contains():判断一个字符串是否包含另一个子字符串str:="Hello,World!"substr:="World"ifstrings.Contains(str,substr){//原始字符串、要查找的......
  • Golang unsafe.Sizeof 函数代码示例
    在Go语言中,可以使用unsafe.Sizeof()函数来获取变量或类型的大小(以字节为单位)。下面是一个示例代码,演示如何使用unsafe.Sizeof()函数:packagemainimport( "fmt" "unsafe")typePersonstruct{ Namestring Ageint}funcmain(){ varnumint varstrstring......
  • vim编辑器命令模式——撤销与时间旅行
    原创:厦门微思网络Vi介绍Vi编辑器是所有Unix及Linux系统下标准的编辑器,类似于windows系统下的notepad(记事本)编辑器,由于在Unix及Linux系统的任何版本,Vi编辑器是完全相同的,因此可以在其他任何介绍vi的地方都能进一步了解它,Vi也是Linux中最基本的文本编辑器,学会它后......
  • Golang标准库:非类型安全操作(Arbitrary 类型 Pointer 类型 Sizeof 函数 Offsetof 函数)
    unsafe库徘徊在“类型安全”边缘,由于它们绕过了Golang的内存安全原则,一般被认为使用该库是不安全的。但是,在许多情况下,unsafe库的作用又是不可替代的,灵活地使用它们可以实现对内存的直接读写操作。在reflect库、syscall库以及其他许多需要操作内存的开源项目中都有对它的引用。un......
  • CMC-ORACLE-函數row_number() over(partition by )函数用法
    row_number()over(partitionby)函数用法row_number()over(partitionby),作为oracle常用的分析函数,身为数据开发时必须要掌握的。不过一段时间不用,难免会有些忘记,今天整理一下一些场景下的用法。现有表(test_rownumber)有如下数据:RUSER(用户名)RID(用户编号)RSAL(用户消费)RD......
  • 无涯教程-Erlang - memory函数
    返回一个列表,其中包含有关由Erlang动态分配的内存的信息,该列表的每个元素都是一个元组{Type,Size},第一个元素Type是描述内存类型的原子。memory-语法memory()memory-返回值返回一个列表,其中包含有关由Erlang仿真器动态分配的内存的信息。-module(helloLearnfk).-export......
  • STM32学习笔记_点灯(基于库函数方式)
    1.使能外设时钟输入:RCC_APB2PeriphClockCmd函数,查看函数定义,根据函数定义填写参数:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);2.配置端口模式输入函数GPIO_Init,跳转到函数定义,查看函数定义得知函数体的第二个参数是结构体,先定义结构体并且填写结构体的各个参数,然后填写......
  • 函数(1)基本概念,参数,调用,声明和定义
    一、C语言中函数分为库函数和自定义函数库函数:C语言本身提供的函数,有函数名、返回值类型和函数参数常用的库函数有IO函数(stdio.h),字符串操作函数(strlen),字符操作函数(大小写),内存操作函数(memset),时间/日期函数(time),数学函数(sqrt)以及其他库函数。intmain(){ chararr1[]=......
  • 无涯教程-Erlang - element函数
    该方法返回元组中的第Nth元素。element-语法element(N,Tuple)N    -元组中需要返回的位置。Tuple -需要为其返回第N元素的元组。element-返回值该方法返回元组中的第Nth元素。-module(helloLearnfk).-export([start/0]).start()->io:......
  • C++中的函数重载(C++Primer)
    一、什么是函数的重载在同一作用域下,几个函数的函数名相同,但其内部的形参列表不同,我们称之为函数的重载,这里的不同不仅仅指形参数量的不同,还包括形参类型的不同。voidprint(constchar*const_p);voidprint(constchar*begin,constchar*end);voidprint(constint*const_p)......