时间格式化代码(示例)

/**
* Created by jiachenpan on 16/11/18.
*/

export function parseTime( time, cFormat) {
if ( arguments. length === 0) {
return null
}
const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if ( typeof time === 'object') {
date = time
} else {
if (( '' + time). length === 10) time = parseInt( time) * 1000
date = new Date( time)
}
const formatObj = {
y: date. getFullYear(),
m: date. getMonth() + 1,
d: date. getDate(),
h: date. getHours(),
i: date. getMinutes(),
s: date. getSeconds(),
a: date. getDay()
}
const time_str = format. replace( /{ ( y | m | d | h | i | s | a ) + }/ g, ( result, key) => {
let value = formatObj[ key]
if ( key === 'a') return [ '一', '二', '三', '四', '五', '六', '日'][ value - 1]
if ( result. length > 0 && value < 10) {
value = '0' + value
}
return value || 0
})
return time_str
}

export function formatTime( time, option) {
time = + time * 1000
const d = new Date( time)
const now = Date. now()

const diff = ( now - d) / 1000

if ( diff < 30) {
return '刚刚'
} else if ( diff < 3600) { // less 1 hour
return Math. ceil( diff / 60) + '分钟前'
} else if ( diff < 3600 * 24) {
return Math. ceil( diff / 3600) + '小时前'
} else if ( diff < 3600 * 24 * 2) {
return '1天前'
}
if ( option) {
return parseTime( time, option)
} else {
return d. getMonth() + 1 + '月' + d. getDate() + '日' + d. getHours() + '时' + d. getMinutes() + '分'
}
}

你可能感兴趣的:(js)