前端工具包之日期格式化

2021-10-01 12:45:29 字數 1959 閱讀 9630

1.前端工具包之深淺拷貝

2.前端工具包之日期格式化

3.前端工具包之防抖函式

4.前端工具包之小工具

5.前端工具包之log美化

通常開發中我們會遇到各種類別的日期形式如比較常見的new date()輸出以下格式

mon dec 16 2019 11:01:04 gmt+0800 (中國標準時間)

或者比較通用的字串型別的格式如2019-12-16以及附加時分秒的2019-12-16 12:00:00還有一些更加個性化的分隔符如2019/12/16,2023年12月16日等等,有時候我們需要借助第三方庫來實現更複雜的時間日期格式化等操作,但其實有時候往往開發時並不需要做如此多的格式化,因此,這裡我簡單封裝了乙個函式來應用一般情況下的日期格式化。下面先貼上**

/**

* 時間格式化

* @param time (date or 時間戳)

* @param cformat

* @returns

*/function parsetime(time, cformat)

const format = cformat || '-- ::'

let date

if (typeof time === 'object') else

const formatobj =

// eslint-disable-next-line

const time_str = format.replace(//g, (result, key) =>

return value || 0

})// eslint-disable-next-line

return time_str

}

這裡傳入的引數是日期和格式化字串的型別,預設可以傳入date型別或者字元型別的日期,cformat為格式化模板字串,

如果是日期時間戳,則轉換為標準date日期格式並預先轉換成年月日時分秒這種格式化物件。再針對這個物件的年月日時分秒星期來通過正則匹配和替換。

console.log(parsetime(new date()))                          //print 2019-12-16 11:10:31

console.log(parsetime(new date(),'--')) //print 2019-12-16

console.log(parsetime(new date(),'//')) //print 2019/12/16

console.log(parsetime(new date(),'')) //print 2019

console.log(parsetime(new date(),'::')) //print 11:14:31

console.log(parsetime(new date(),'-- 星期 ')) //print 2019-12-16 星期 一

console.log(parsetime(new date('2019/12/11'))) //print 2019-12-11

console.log(parsetime('2019-12-11 12:00:00')) //print 2019-12-11 12:00:00

console.log(parsetime(new date().gettime())) //print 2019-12-16 11:20:17

可以傳入時間戳或者date物件格式來適配不同的格式化模板,也可以給date傳入預設值來格式化預設日期

個人主頁 | bin-ui | bin-admin

工具包 日期類 格式化 Math類 的使用

date 是個類需要new來使用 date 名 new date 其中主要方法 after date when before date when 對比時間的前後,若為相同則返回false gettime 返回當前物件的毫秒值 settime long time 設定時間 a.compareto b ...

前端 js 日期格式化

日期格式化 export const parsetime time,pattern const format pattern let date if typeof time object else else if typeof time string if typeof time number ti...

工具函式 格式化日期

對日期進行格式化,param date 要格式化的日期 param format 進行格式化的模式字串 支援的模式字母有 y 年,m 年中的月份 1 12 d 月份中的天 1 31 h 小時 0 23 m 分 0 59 s 秒 0 59 s 毫秒 0 999 q 季度 1 4 return stri...