TypeScript JavaScript TS JS 时间格式化 日期格式化

  export abstract class DateUtils {

    /** 格式化: 时间
     * 年     天    小时   分钟    秒     毫秒
     * yy/YY dd/DD hh/HH  mm/MM  ss/SS  ms/MS
     * @param seconds 时间(秒)
     * @param format 格式化字符串 例如: mm分ss秒hh时yy年MM月dd日
    */
    static formatTime(seconds: number, format: string): string {
      let ms = seconds * 1000
      let year = Math.floor(ms / (365 * 24 * 60 * 60 * 1000))
      ms = ms % (365 * 24 * 60 * 60 * 1000)
      let day = Math.floor(ms / (24 * 60 * 60 * 1000))
      ms = ms % (24 * 60 * 60 * 1000)
      let hours = Math.floor(ms / (60 * 60 * 1000))
      ms = ms % (60 * 60 * 1000)
      let minutes = Math.floor(ms / (60 * 1000))
      ms = ms % (60 * 1000)
      let seconds1 = Math.floor(ms / 1000)
      ms = ms % 1000
      let str = format
      str = str.replace(/yy|YY/, (year < 10 ? '0' + year : year) + '')
      str = str.replace(/dd|DD/, (day < 10 ? '0' + day : day) + '')
      str = str.replace(/hh|HH/, (hours < 10 ? '0' + hours : hours) + '')
      str = str.replace(/mm|MM/, (minutes < 10 ? '0' + minutes : minutes) + '')
      str = str.replace(/ss|SS/, (seconds1 < 10 ? '0' + seconds1 : seconds1) + '')
      str = str.replace(/ms|MS/, (ms < 10 ? '0' + ms : ms) + '')
      return str
    }

    /** 格式化: 日期
     * 年     月    天    小时    分钟    秒     毫秒
     * yy/YY mm/MM dd/DD  hh/HH  ii/II  ss/SS  ms/MS
     * @param timestamp_s 时间戳(秒)
     * @param format 格式化字符串 例如: ii分ss秒hh时yy年MM月dd日
     */
    static formatDate(timestamp_s: number, format: string): string {
      let date = new Date(timestamp_s * 1000)
      let year = date.getFullYear()
      let month = date.getMonth() + 1
      let day = date.getDate()
      let hours = date.getHours()
      let minutes = date.getMinutes()
      let seconds = date.getSeconds()
      let ms = date.getMilliseconds()
      let str = format
      str = str.replace(/yy|YY/, (year < 10 ? '0' + year : year) + '')
      str = str.replace(/mm|MM/, (month < 10 ? '0' + month : month) + '')
      str = str.replace(/dd|DD/, (day < 10 ? '0' + day : day) + '')
      str = str.replace(/hh|HH/, (hours < 10 ? '0' + hours : hours) + '')
      str = str.replace(/ii|II/, (minutes < 10 ? '0' + minutes : minutes) + '')
      str = str.replace(/ss|SS/, (seconds < 10 ? '0' + seconds : seconds) + '')
      str = str.replace(/ms|MS/, (ms < 10 ? '0' + ms : ms) + '')
      return str
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值