js简单日期格式化,两种方案

本文介绍了在JavaScript中对日期进行格式化的两种方法,包括根据arguments参数灵活插入分隔符以及使用正则表达式进行替换。在实现一个活动页面时,为了解决后台API返回的日期格式问题,作者编写了一个小插件,详细代码可在GitHub上查看。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

js简单日期格式化,两种方案

Introduce

在做一个活动页面,需要获取当前日期,但是后台api的接口给的日期格式很期怕。就直接做了个格式化日期的小插件。

Tool

  1. vscode
  2. chrome

Thought

两种方案

  1. 根据arguments来做,传进去的参数分别是中间的分隔符,当为空时,默认为空格,一个参数时,在中间插入,两个参数,插在中间空隙,三个参数就分别在日期的三个地方
  2. 根据正则表达式进行替换

详细例子代码中有

Code

function formatData1() {
            var formate = '';
            var date = new Date();
            var year = date.getFullYear();
            var mouth = date.getMonth() + 1;
            var day = date.getDate();
            if (day < 9 && day > 0) {
                day = '0' + day;
            }
            if (mouth < 9 && day > 0) {
                mouth = '0' + mouth;
            }
            if (arguments.length === 1) {
                formate = year + arguments[0] + mouth + arguments[0] + day;
            } else if(arguments.length === 2) {
                formate = year + arguments[0] + mouth + arguments[1] + day;
            } else if (arguments.length === 3) {
                formate = year + arguments[0] + mouth + arguments[1] + day + arguments[2];
            } else if (!arguments.length) {
                formate = year + '' + mouth + '' + day;
            }
            return formate;
        }
        console.log(formatData1());
        console.log(formatData1('-'));
        console.log(formatData1('/'));
        console.log(formatData1('+','-'));
        console.log(formatData1('年','月','日'));
function formatData2(str) {
            var formate = '';
            var date = new Date();
            var year = date.getFullYear();
            var mouth = date.getMonth() + 1;
            var day = date.getDate();
            if (day < 9 && day > 0) {
                day = '0' + day;
            }
            if (mouth < 9 && day > 0) {
                mouth = '0' + mouth;
            }
            var formate = str.replace(/YYYY/g, year).replace(/MM/g, mouth).replace(/DD/g, day);
            return formate;
        }
        console.log(formatData2('YYYYMMDD'))
        console.log(formatData2('YYYY-MM-DD'))
        console.log(formatData2('YYYY年MM月DD日'))

writer&contact

{
  "name":"Jontyy" , 
  "email": " jontyy@163.com"
}

github

https://github.com/YJD199798

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值