您当前的位置: 首页 >  ar

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

日期、时间、格式、补零(0、〇)操作、length、String、slice、getFullYear、getMonth、getDate、getHours、getMinutes、getSeconds

发布时间:2022-01-07 10:36:20 ,浏览量:0

文章目录
  • 1、功能(需求)描述
  • 2、代码
  • 3、实现思路
1、功能(需求)描述

实现日期补零操作。

2、代码

功能实现

function timeZeroFill(dateTime = Date.now()) { let timeStamp = dateTime; dateTime = new Date(dateTime); // 转为字符串 let string = (val) => String(val), // 补零 zeroFilling = (val) => "00" + val, // 获取原数据长度 getLength = (val) => val.length, // 最终结果 result = (zero, len) => zero.slice(len), yer = string(dateTime.getFullYear()), moth = string(dateTime.getMonth() + 1), day = string(dateTime.getDate()), house = string(dateTime.getHours()), minute = string(dateTime.getMinutes()), second = string(dateTime.getSeconds()), week = ['天', '一', '二', '三', '四', '五', '六'][dateTime.getDay()]; moth = result(zeroFilling(moth), getLength(moth)); day = result(zeroFilling(day), getLength(day)); house = result(zeroFilling(house), getLength(house)); minute = result(zeroFilling(minute), getLength(minute)); second = result(zeroFilling(second), getLength(second)); if (yer === "NaN") throw new Error('parameter error.'); return { yer, moth, day, house, minute, second, week, timeStamp }; } 

函数执行

console.log(timeZeroFill()); // {yer: '2023', moth: '03', day: '29', house: '09', minute: '26', …} console.log(timeZeroFill('2023-03-29 09:23:36')); // {yer: '2023', moth: '03', day: '29', house: '09', minute: '23', …} console.log(timeZeroFill('2666666')); // parameter error. 
3、实现思路

第一步:通过String方法把获取到的年月日时分秒和星期转为字符串类型,数字类型没有length属性。 第二步:定义zeroFilling函数执行补零操作。 第三步:定义getLength函数获取长度。 第四步:定义result函数获取最终结果。

在result函数执行时,传入两个参数,分别是补零后的值和原始值的长度。此时的操作属于平行结构,互不干扰,zeroFilling函数和getLength函数执行得到临时值,没有作赋值操作,不会改变原数据;得到的长度也是原始值的长度。

当月份的值为3。 补零后为003。 原始的length值为1。 slice方法截取包括下标,此时下标为1,也就是length,从1开始截取到末尾就得到03。

当月份的值为11。 补零后为0011。 原始的length值为2。 slice方法截取包括下标,此时下标为2,也就是length,从2开始截取到末尾就得到11。

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.4340s