export function formatDate (date, fmt) { //获取年份 if (/(y+)/.test(fmt)) { // 把数字变成字符串 let dateY = date.getFullYear() + ""; //RegExp.$1 在判断中出现过,且是括号括起来的,所以 RegExp.$1 就是 "yyyy" fmt = fmt.replace(RegExp.$1, dateY.substr(4 - RegExp.$1.length)); } //获取其他 let o = { "M+": date.getMonth() + 1 + '月', "d+": date.getDate(), "h+": date.getHours(), "m+": date.getMinutes(), "s+": date.getSeconds(), }; console.log(o) for (const k in o) { if (new RegExp(`(${k})`).test(fmt)) { let str = o[k] + ""; console.log(11, str, RegExp.$1) fmt = fmt.replace( RegExp.$1, RegExp.$1.length === 1 ? str : (("00" + str).substr(str.length)) ); console.log('fmt', fmt) } } return fmt; }
时间: 2024-02-14 21:14:33 浏览: 26
这是一个 JavaScript 函数,用于格式化日期。
函数名:formatDate
参数:
- date:日期对象
- fmt:格式字符串,例如 "yyyy-MM-dd hh:mm:ss"
返回值:格式化后的日期字符串。
函数实现:
- 首先,使用正则表达式匹配格式字符串中的年份标识符("y+"),替换成日期对象中的年份。
- 然后,定义一个对象 o,包含其他需要格式化的日期部分(月份、日、小时、分钟、秒),并遍历该对象。
- 对于每个日期部分,使用正则表达式匹配格式字符串中对应的标识符(例如 "M+" 表示月份),并替换成对应的日期部分。
- 最后,返回格式化后的日期字符串。
请注意,由于该函数使用了正则表达式,因此在使用时需要特别小心,以避免出现不必要的错误。
相关问题
Vue函数将参数时间转换为XXXX/XX/XX XX:XX:XX
你可以使用JavaScript内置的Date对象来将时间转换为所需的格式。以下是一个将时间转换为"XXXX/XX/XX XX:XX:XX"格式的Vue函数示例:
```
formatDate(time) {
const date = new Date(time)
const year = date.getFullYear()
const month = (date.getMonth() + 1).toString().padStart(2, '0')
const day = date.getDate().toString().padStart(2, '0')
const hour = date.getHours().toString().padStart(2, '0')
const minute = date.getMinutes().toString().padStart(2, '0')
const second = date.getSeconds().toString().padStart(2, '0')
return `${year}/${month}/${day} ${hour}:${minute}:${second}`
}
```
在这个函数中,我们首先使用Date对象将传入的时间参数转换为一个日期对象。然后,我们从日期对象中提取年、月、日、小时、分钟和秒,并将它们格式化为所需的字符串格式。最后,我们将这些字符串拼接在一起并返回结果。
function getTwoLenNumStr(num) { if (num < 10) return "0" + num; else return num; } window.formatDate = function (millisTime) { var time = new Date(millisTime); return time.getFullYear() + "/" + getTwoLenNumStr(time.getMonth() + 1) + "/" + getTwoLenNumStr(time.getDate()) + " " + getTwoLenNumStr(time.getHours()) + ":" + getTwoLenNumStr(time.getMinutes()); };
这段代码是用来格式化时间的,包含两个函数。其中getTwoLenNumStr函数是用来将数字转化为两位字符串的,如果数字小于10,则在前面添加一个0,否则直接返回该数字。而formatDate函数则是将时间戳转化为标准的年月日时分格式,返回一个字符串。具体实现是先将时间戳转化为Date对象,然后分别获取年月日时分秒,并使用getTwoLenNumStr函数将数字转化为两位字符串,最后将这些字符串拼接成标准格式返回。