js时间格式化和转换的方法

这篇具有很好参考价值的文章主要介绍了js时间格式化和转换的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近期在练习或写项目时经常会遇到时间格式的转换问题,今天我就来总结一下。

1、将日期转换为指定格式(yyyy-MM-dd hh:mm:ss等格式)

封装方法format

//date指的是new Date(),fmt是格式化的格式
 format=(date,fmt)=>{
    var o = { 
        "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()             //毫秒 
    }; 
    //(y+)匹配多个y,比如yyyy
    if(/(y+)/.test(fmt)) {
         // RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串
            fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
     for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
         }
     }
    return fmt; 
   }
   console.log(format(new Date(),'yyyy/MM/dd'))//2022/09/03
   console.log(format(new Date(),'yyyy/MM/dd hh:mm:ss'))//2022/09/03 16:11:41
   console.log(format(new Date(),'mm:ss'))//18:28

也可以为Date原型直接添加format方法


Date.prototype.format = function(fmt) { 
     var o = { 
        "M+" : this.getMonth()+1,                 //月份 
        "d+" : this.getDate(),                    //日 
        "h+" : this.getHours(),                   //小时 
        "m+" : this.getMinutes(),                 //分 
        "s+" : this.getSeconds(),                 //秒 
        "q+" : Math.floor((this.getMonth()+3)/3), //季度 
        "S"  : this.getMilliseconds()             //毫秒 
    }; 
    if(/(y+)/.test(fmt)) {
            fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); 
    }
     for(var k in o) {
        if(new RegExp("("+ k +")").test(fmt)){
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
         }
     }
    return fmt; 
}
//使用
console.log(new Date().format("yyyy:MM:dd")//2022:09:03
2.将时间戳转换为年月日的格式
//时间戳转换为yyyy-MM-dd hh:mm:ss
//timestamp(秒为单位)时间戳
export function format(timestamp) {
  var date = new Date(timestamp * 1000);
  var Y = date.getFullYear() + "-";
  var M =
    (date.getMonth() + 1 < 10
      ? "0" + (date.getMonth() + 1)
      : date.getMonth() + 1) + "-";
  var D =
    (date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";
  var h =
    (date.getHours() < 10 ? "0" + date.getHours() : date.getHours()) + ":";

  var m =
    (date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes()) +
    ":";
  var s =
    date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
  return Y + M + D + h + m + s;
}

或者获取到date之后结合format使用

3.将时间转换为时间戳
var date = new Date('2022-9-03');
//方式一,得到的是毫秒
var time1 = date.getTime();
//方式二,得到的是毫秒
var time2 = date.valueOf();

注:Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数文章来源地址https://www.toymoban.com/news/detail-668573.html

到了这里,关于js时间格式化和转换的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaScript】JavaScript日期和时间的格式化:

    一、日期和时间的格式化 1、原生方法 【1】使用 toLocaleString 方法 【2】使用 Intl.DateTimeFormat 对象 2、使用字符串操作方法 3、自定义格式化函数 【1】不可指定格式的格式化函数 【2】可指定格式的格式化函数 4、使用第三方库 二、日期和时间的其它常用处理方法 1、创建 Dat

    2024年02月10日
    浏览(54)
  • 在线时间戳格式化转换工具

    在线时间戳格式化转换工具 本工具支持在时间和时间戳之间相互转换,默认时间参考的是服务器时间 Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIXtime),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起

    2024年02月15日
    浏览(48)
  • JavaScript 日期和时间的格式化大汇总(收集)

    一、日期和时间的格式化 1、原生方法 1.1、使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法,该方法可以根据本地时间和地区设置格式化日期时间。例如:   toLocaleString 方法接受两个参数,第一个参数是地区设置,第二个参数是选项,用于指定日期时间格式和时区信息

    2024年02月08日
    浏览(59)
  • Flutter/Dart日期格式化及时间戳转换

    点击进入我的自建博客链接 Dart 获取当前时间,以及获取当前年、月、日等。 创建指定时间还可以直接从符合日期格式的字符串直接转换,如下。 日期字符串转为时间 日期时间转成时间戳 时间戳转日期时间 可以给某个时间增加或减少时间段(Duration)。

    2024年02月11日
    浏览(49)
  • day.js库格式化当前时间

    Day.js 是一个轻量的处理时间和日期的 JavaScript 库:Day.js中文网 (fenxianglu.cn) 只要导入了 dayjs的库文件,在window全局就可以使用dayjs()的方法了 先new出来一个 date()的对象,再进行打印 得到一个不适合阅读的字符串 这个时候可以使用 Day.js对Date()进行处理 我们通常需要对时间进行

    2024年02月06日
    浏览(51)
  • 【Java LocalDateTime】LocalDateTime获取时间信息、格式化、转换为数字时间戳

    文章目录 正文         一、描述         二、基本使用 1、获取LocalDateTime时间 2、时间比较 3、获取基本时间信息: 4、格式化 / 反格式化 5、转换为数字时间戳 6、数字时间戳转为LocalDateTime         LocalDateTime是Java 8引入的日期和时间API (java.time包)中的一个类, 不包含

    2024年02月03日
    浏览(50)
  • Pandas中的字符串和时间转换与格式化

    Pandas 提供了若干个函数来格式化时间。 其中,最常用的是 to_datetime() 函数。 可以使用 to_datetime() 函数将一个字符串解析为时间,并指定字符串的格式。例如: 输出: 还可以使用 strftime() 函数将时间格式化为字符串。例如: 输出: 如果想要格式化某一列中的时间,可以使用

    2024年02月04日
    浏览(45)
  • 关于使用JS获取当前时间并格式化输出

    (1)逐个提取并拼接字符串 (2)一步到位提取年月日时分秒(重点) 首先,提取数据到数据 然后,拼接数据格式化输出 (附上,过程剖析)

    2024年02月03日
    浏览(56)
  • JAVA-LocalDateTime时间格式化,转换时间戳和源码分析(万字长文详解)

    LocalDateTime 作为java8新加的时间类型,也是后面开发中常用的时间类型。 作为时间类型,最关注的点无非是这几个 获取当前时间 获取指定时间 时间格式化 时间转时间戳 时间戳转时间 时间比较 时间加减 这些点通过 LocalDateTime 来操作,都会比较简单 获取当前时间 只需要now一

    2024年01月22日
    浏览(59)
  • Java格式化日期,时间(三种方法)

    在java中String类格式化的方法,是静态format()用于创建格式化的字符串。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包