日期格式化

复制代码
 1 // 日期格式化
 2 export function parseTime(time, pattern) {
 3     if (arguments.length === 0 || !time) {
 4         return null
 5     }
 6     const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
 7     let date
 8     if (typeof time === 'object') {
 9         date = time
10     } else {
11         if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
12             time = parseInt(time)
13         } else if (typeof time === 'string') {
14             time = time.replace(new RegExp(/-/gm), '/');
15         }
16         if ((typeof time === 'number') && (time.toString().length === 10)) {
17             time = time * 1000
18         }
19         date = new Date(time)
20     }
21     const formatObj = {
22         y: date.getFullYear(),
23         m: date.getMonth() + 1,
24         d: date.getDate(),
25         h: date.getHours(),
26         i: date.getMinutes(),
27         s: date.getSeconds(),
28         a: date.getDay()
29     }
30     const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
31         let value = formatObj[key]
32         // Note: getDay() returns 0 on Sunday
33         if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] }
34         if (result.length > 0 && value < 10) {
35             value = '0' + value
36         }
37         return value || 0
38     })
39     return time_str
40 }
复制代码

 

posted @   冷闲欧巴  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示