JS时间格式转换处理
export function parseTime ( date, formatStr) {
if ( ! date) {
return '--'
}
let d
date = date || new Date ( )
if ( date instanceof Date ) {
d = date
} else if ( typeof date === 'string' ) {
date = date. replace ( /(\d{4})(\d{1,2})(\d{1,2})/ , ( a, b, c, d) => { return ` ${ b} - ${ c} - ${ d} ` } )
d = new Date ( switchConnectSign ( date, 0 ) )
} else if ( typeof date === 'number' ) {
d = new Date ( date)
}
if ( ! formatStr) {
formatStr = 'Y-M-D H:F:S'
}
const formatNumStr = num => ( num < 10 ? '0' + num : num)
return formatStr. replace ( /Y|y|M|m|D|d|H|h|F|f|S|s/g , v => {
switch ( v) {
case 'y' :
return ( d. getFullYear ( ) + '' ) . slice ( 2 )
case 'Y' :
return d. getFullYear ( )
case 'm' :
return d. getMonth ( ) + 1
case 'M' :
return formatNumStr ( d. getMonth ( ) + 1 )
case 'd' :
return d. getDate ( )
case 'D' :
return formatNumStr ( d. getDate ( ) )
case 'h' :
return d. getHours ( )
case 'H' :
return formatNumStr ( d. getHours ( ) )
case 'f' :
return d. getMinutes ( )
case 'F' :
return formatNumStr ( d. getMinutes ( ) )
case 's' :
return d. getSeconds ( )
case 'S' :
return formatNumStr ( d. getSeconds ( ) )
}
} )
}