前端笔试题整理——时间格式化输出

前端笔试题整理——时间格式化输出

题目描述:按所给的时间格式输出指定的时间

格式说明
对于 2014.09.05 13:14:20
yyyy: 年份,2014
yy: 年份,14
MM: 月份,补满两位,09
M: 月份, 9
dd: 日期,补满两位,05
d: 日期, 5
HH: 24制小时,补满两位,13
H: 24制小时,13
hh: 12制小时,补满两位,01
h: 12制小时,1
mm: 分钟,补满两位,14
m: 分钟,14
ss: 秒,补满两位,20
s: 秒,20
w: 星期,为 [‘日’, ‘一’, ‘二’, ‘三’, ‘四’, ‘五’, ‘六’] 中的某一个,本 demo 结果为 五

示例

输入:formatDate(new Date(1409894060000), ‘yyyy-MM-dd HH:mm:ss 星期w’)
输出:2014-09-05 13:14:20 星期五

解题思路
      function formatDate(time, format) {
        //保持格式统一,都转化为字符串像是
        let year = time.getFullYear().toString()
        let month = time.getMonth() + 1
        //补零
        month = month < 10 ? '0' + month : month.toString()
        let date = time.getDate()
        date = date < 10 ? '0' + date : date.toString()
        let hour = time.getHours()
        hour = hour < 10 ? '0' + hour : hour.toString()
        let min = time.getMinutes()
        min = min < 10 ? '0' + min : min.toString()
        let sed = time.getSeconds()
        sed = sed < 10 ? '0' + sed : sed.toString()
        let index = time.getDay()
        let dayArr = ['日', '一', '二', '三', '四', '五', '六']
        //格式化输出
        let res = format
          .replace(/yyyy/, year)
          .replace(/MM/, month)
          .replace(/dd/, date)
          .replace(/HH/, hour)
          .replace(/mm/, min)
          .replace(/ss/, sed)
          .replace(/w/, dayArr[index])
        return res
      }
      console.log(
        formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w')
      )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值