技术文章内容聚合第一站
互联网技术教程 - 开发者的网上家园

js日期时间格式化的方法实例

作者:web前端开发特约专   发布日期:2021-08-21 20:36:25   浏览: 000次   来源: Web开发  

本文由web前端开发特约专栏 于2021年08月21日 20时36分25秒编辑 本文给大家主要讲解的是:js日期时间格式化的方法实例希望大家可以从中学习总结自己的一套方法和理解,更多关于前导的知识请关注互联网技术教程 - 蒋昊然的技术网站

js日期时间格式化

将日期时间转换为指定格式。如:YYYY-mm-dd HH:MM表示2019-06-06 19:45

function dateFormat(fmt, date) {
    let ret;
    const opt = {
        "Y+": date.getFullYear().toString(),        // 年
        "m+": (date.getMonth() + 1).toString(),     // 月
        "d+": date.getDate().toString(),            // 日
        "H+": date.getHours().toString(),           // 时
        "M+": date.getMinutes().toString(),         // 分
        "S+": date.getSeconds().toString()          // 秒
        // 有其他格式化字符需求可以继续添加。必须转化成字符串
    };
    for (let k in opt) {
        ret = new RegExp("(" + k + ")").exec(fmt);
        if (ret) {
            fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
        };
    };
    return fmt;
}

用法:

let date = new Date()
dateFormat("YYYY-mm-dd HH:MM", date)
>>> 2019-06-06 19:45`

如果对日期时间处理的需求较多, 推荐moment.js这个日期处理类库, 简单方便.

Moment.js格式化日期时间

Moment.js是一个轻量级的JavaScript时间库。它方便了日常开发中对时间的操作。提高了开发效率。日常开发中。通常会对时间进行这几个操作:比如获取时间。设置时间。格式化时间。比较时间等等。

格式化日期

当前时间:

moment().format('YYYY-MM-DD HH:mm:ss'); //2014-09-24 23:36:09 

今天是星期几:

moment().format('d'); //3 

转换当前时间的Unix时间戳:

moment().format('X'); 

相对时间

20120901相对当前日期是2年前

moment("20120901", "YYYYMMDD").fromNow(); //2 years ago 

7天后的日期:

moment().add('days',7).format('YYYY年MM月DD日'); //2014年10月01日 

9小时后的时间:

moment().add('hours',9).format('HH:mm:ss'); 

moment.js提供了丰富的说明文档。使用它还可以创建日历项目等复杂的日期时间应用。我们日常开发中最常用的是格式化时间。下面我把常用的格式制作成表格说明供有需要的朋友查看:

格式代码 说明 返回值例子
M 数字表示的月份。没有前导零 1到12
MM 数字表示的月份。有前导零 01到12
MMM 三个字母缩写表示的月份 Jan到Dec
MMMM 月份。完整的文本格式 January到December
Q 季度 1到4
D 月份中的第几天。没有前导零 1到31
DD 月份中的第几天。有前导零 01到31
d 星期中的第几天。数字表示 0到6。0表示周日。6表示周六
ddd 三个字母表示星期中的第几天 Sun到Sat
dddd 星期几。完整的星期文本 从Sunday到Saturday
w 年份中的第几周 如42:表示第42周
YYYY 四位数字完整表示的年份 如:2014 或 2000
YY 两位数字表示的年份 如:14 或 98
A 大写的AM PM AM PM
a 小写的am pm am pm
HH 小时。24小时制。有前导零 00到23
H 小时。24小时制。无前导零 0到23
hh 小时。12小时制。有前导零 00到12
h 小时。12小时制。无前导零 0到12
m 没有前导零的分钟数 0到59
mm 有前导零的分钟数 00到59
s 没有前导零的秒数 1到59
ss 有前导零的描述 01到59
X Unix时间戳 1411572969

更多有关moment.js的介绍。请访问项目官网:http://momentjs.com/

总结

到此这篇关于js日期时间格式化的文章就介绍到这了,更多相关js日期时间格式化内容请搜索互联网技术教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持互联网技术教程!

版权保护: 本文由互联网技术教程原创,转载请保留链接: https://jhrtech.cn/js/337528.html

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!