首页 > 编程语言 >JavaScript 指定格式化日期的方式

JavaScript 指定格式化日期的方式

时间:2023-06-20 10:58:10浏览次数:58  
标签:不带 格式化 format JavaScript length return 日期 date 前导

JavaScript 指定格式化日期的方式

1、使用let 和 const 的方式

function formatDate(date, format) {
  const map = {
    "M": date.getMonth() + 1, // 月份
    "d": date.getDate(), // 日
    "h": date.getHours(), // 小时
    "m": date.getMinutes(), // 分
    "s": date.getSeconds(), // 秒
    "q": Math.floor((date.getMonth() + 3) / 3), // 季度
    "S": date.getMilliseconds() // 毫秒
  };
  format = format.replace(/([yMdhmsqS])+/g, (all, t) => {
    let v = map[t];
    if (v !== undefined) {
      if (all.length > 1) {
        v = "0" + v;
        v = v.substr(v.length - 2);
      }
      return v;
    } else if (t === "y") {
      return (date.getFullYear() + "").substr(4 - all.length);
    }
    return all;
  });
  return format;
} 

2、早期 JavaScript 版本(例如 ES5),使用 var 关键字来声明变量的方式

function formatDate(date, format) {
  var map = {
    "M": date.getMonth() + 1, // 月份
    "d": date.getDate(), // 日
    "h": date.getHours(), // 小时
    "m": date.getMinutes(), // 分
    "s": date.getSeconds(), // 秒
    "q": Math.floor((date.getMonth() + 3) / 3), // 季度
    "S": date.getMilliseconds() // 毫秒
  };
  format = format.replace(/([yMdhmsqS])+/g, function(all, t) {
    var v = map[t];
    if (v !== undefined) {
      if (all.length > 1) {
        v = "0" + v;
        v = v.substr(v.length - 2);
      }
      return v;
    } else if (t === "y") {
      return (date.getFullYear() + "").substr(4 - all.length);
    }
    return all;
  });
  return format;
}

3、说明和使用示例:

3.1 说明

formatDate()函数接受两个参数:一个日期对象和一个格式字符串。格式字符串中可以包含以下占位符:

  • yyyy:四位数的年份
  • yy:两位数的年份
  • M:月份(不带前导零)
  • MM:月份(带前导零)
  • d:日期(不带前导零)
  • dd:日期(带前导零)
  • h:小时(12小时制,不带前导零)
  • hh:小时(12小时制,带前导零)
  • H:小时(24小时制,不带前导零)
  • HH:小时(24小时制,带前导零)
  • m:分钟(不带前导零)
  • mm:分钟(带前导零)
  • s:秒钟(不带前导零)
  • ss:秒钟(带前导零)
  • q:季度(不带前导零)
  • S:毫秒(不带前导零)
  • SSS:毫秒(带前导零)

函数将所有占位符替换为相应的日期值,然后返回格式化后的日期字符串。

3.2 示例:

//滔Roy 2023.06.20
const date = new Date();
const format = "yyyy-MM-dd hh:mm:ss";
const formattedDate = formatDate(date, format);
console.log(formattedDate);

 

  

 

  

 

 

创建时间:2023.06.20  更新时间:

标签:不带,格式化,format,JavaScript,length,return,日期,date,前导
From: https://www.cnblogs.com/guorongtao/p/17492991.html

相关文章

  • 格式化字符串
    介绍格式化字符串格式化字符串函数可以接受可变数量的参数,并将第一个参数作为格式化字符串,根据其来解析之后的参数。通俗来说,格式化字符串函数就是将计算机内存中表示的数据转化为我们人类可读的字符串格式。几乎所有的C/C++程序都会利用格式化字符串函数来输出信息,调试程序,或......
  • JavaScript判断两个数组相等的四类方法
    在JavaScript中,数组本质上是一种特殊的对象,它的类型值会返回object。如果我们需要比较两个数组是否相等,不能像比较基本类型(String、Number、Boolean等)一样,使用===(或==)来判断,所以如果要比较数组是否相等,需要使用一些特殊方法。关于JS类型的判断,可见博文typeof详解。本文......
  • 在JavaScript中实现Promise对象
    classPromise2{#status='pending'constructor(fn){this.q=[]constresolve=(data)=>{this.#status='fulfilled'constf1f2=this.q.shift()if(!f1f2||!f1f2[0])returnconstx=f1f2[0].ca......
  • 【电商平台api接口】获取lazada商品评论获取评论内容、评论日期、买家昵称、评论商品
    ​ 请求获取Lazada商品评论(免费获取测试)的作用如下:1.了解商品质量:通过获取Lazada商品评论,可以了解商品的质量、使用感受等信息,从而更好地了解商品的优缺点,为购买者提供更为准确的参考。2.搜集用户反馈:通过搜集Lazada商品评论,可以了解用户对商品的反馈和意见,了解用户的需求和......
  • JavaScript的数学计算库:decimal.js
    Anarbitrary-precisionDecimaltypeforJavaScript.功能整数和浮点数简单但功能齐全的API复制JavaScript和对象的许多方法Number.prototypeMath还处理十六进制、二进制和八进制值比Java的BigDecimalJavaScript版本更快,更小,也许更容易使用无依赖关系广泛的平......
  • JavaScript中var、let、const的使用和区别
    var:var是声明变量的主要关键字,它的作用域是函数作用域函数作用域:意味着变量在函数内部声明是可见的,在函数外部声明是不可见的var声明的变量可以被重新声明和赋值,它可以在同一个作用于下多次声明同一个变量let:let的作用域是块作用域,块作用域可以是函数、条件判断等内部{......
  • Understanding JavaScript Garbage Collection: Dive into Reference Counting and Ma
    JavaScript,theprogramminglanguageoftheweb,isoftenpraisedforitsabilitytohandlememorymanagementautomatically.TheJavaScriptengine'sgarbagecollectorplaysapivotalroleinthisprocess.Today,we'lltakeadeepdiveintotwom......
  • 在 JavaScript 中,判断一个对象是否为空有几种方法。
    使用Object.keys()方法检查对象的键值对数量:functionisObjectEmpty(obj){returnObject.keys(obj).length===0;}//示例用法constobj1={};console.log(isObjectEmpty(obj1));//输出:trueconstobj2={name:'John',age:25};console.log(isObjectEm......
  • 日期格式符RR和YY的区别
    近来有一个应用,连接11g的库,自身逻辑大致是根据日期和其他条件删除表中对应的历史记录,此处日期条件判断未使用to_date(),其中日期和另外一些条件是个复合主键,然后再插入一条新记录(此处日期字段使用to_date(XX,‘DDMONYY’))。在测试的时候,测试人员发现一个问题,先手工插入了一条2050......
  • JavaScript 显示数据
    JavaScript显示数据JavaScript可以通过不同的方式来输出数据:使用window.alert()弹出警告框。使用document.write()方法将内容写到HTML文档中。使用innerHTML写入到HTML元素。使用console.log()写入到浏览器的控制台。window.alert()window.alert()是一个......