UNPKG

ascor

Version:

一些常用的简单的js工具

43 lines (42 loc) 1.35 kB
import { isNumber, isString, isEmpty } from "../is/index"; /** * 时间格式化 * @param {Date | Number} date 时间对象,如new Date(),new Date('2019/05/05 08:08:08') 或时间戳 如:1596507000 * @param {String} fmt 格式,如”YYYY-mm-dd HH:MM:SS“ * @return 返回格式化的字符串 */ export const dateFormat = (date = new Date(), fmt = "YYYY-mm-dd HH:MM") => { if (isNumber(date)) { date = new Date(date); } if (isString(date)) { if (!isNaN(date)) { date = new Date(Number(date)); } else { date = new Date(date.replace(/\-+/g, "/")); } } if (!(date instanceof Date) || isNaN(date.getTime())) { return date; } if (isEmpty(fmt)) { return date; } let opt = { "Y+": date.getFullYear().toString(), "y+": date.getFullYear().toString(), "m+": (date.getMonth() + 1).toString(), "d+": date.getDate().toString(), "H+": date.getHours().toString(), "M+": date.getMinutes().toString(), "S+": date.getSeconds().toString(), }; for (let k in opt) { let ret = new RegExp("(" + k + ")").exec(fmt); if (ret) { fmt = fmt.replace(ret[1], ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, "0")); } } return fmt; };