目录
时间戳或者中国标准时间处理成 2018年05月01日00时00分00秒 这种格式
时间戳或者中国标准时间处理成 2018-05-01 00:00:00 这种格式
时间戳或者中国标准时间处理成 2018-05-01 00:00:00 这种格式
标准格式转换date对象的日期格式
export function dateFormat(obj, fmt) {
let result = null
if(typeof obj === 'object' && obj !== null) {
const demo = {
'y+': obj.getFullYear(),
'm+': obj.getMonth() + 1,
'd+': obj.getDate(),
'H+': obj.getHours(),
'M+': obj.getMinutes(),
's+': obj.getSeconds()
}
for(const k in demo) {
const pattern = new RegExp('(' + k + ')')
if(pattern.test(fmt)) {
if(demo[k] < 10) {
demo[k] = '0' + demo[k]
}
fmt = fmt.replace(RegExp.$1, demo[k])
}
}
result = fmt
} else {
result = obj
}
return result
}
时间戳或者中国标准时间处理成 2018年05月01日00时00分00秒 这种格式
/*
* 将时间戳或者中国标准时间处理成 2018年05月01日00时00分00秒 这种格式
* @param {时间戳或者中国标准时间} timestamp
* @param {一状态 } state ture要时分秒 false不要时分秒
*/
export function timeFormatConversion(timestamp, state) {
let date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '年' // 年
let M = (date.getMonth() + 1).toString().padStart(2, '0') + '月'
let D =
date
.getDate()
.toString()
.padStart(2, '0') + '日'
let h =
date
.getHours()
.toString()
.padStart(2, '0') + '时'
let m =
date
.getMinutes()
.toString()
.padStart(2, '0') + '分'
let s = date
.getSeconds()
.toString()
.padStart(2, '0') + '秒'
return state ? Y + M + D + h + m + s : Y + M + D
}
时间戳或者中国标准时间处理成 2018-05-01 00:00:00 这种格式
/*
* 将时间戳或者中国标准时间处理成 2018-05-01 00:00:00 这种格式
* @param {时间戳或者中国标准时间} timestamp
* @param {一状态 } state ture要时分秒 false不要时分秒
*/
export function timestampToTime(timestamp, state) {
let date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-' // 年
let M = (date.getMonth() + 1).toString().padStart(2, '0') + '-'
let D =
date
.getDate()
.toString()
.padStart(2, '0') + ' '
let h =
date
.getHours()
.toString()
.padStart(2, '0') + ':'
let m =
date
.getMinutes()
.toString()
.padStart(2, '0') + ':'
let s = date
.getSeconds()
.toString()
.padStart(2, '0')
return state ? Y + M + D + h + m + s : Y + M + D
}
时间戳或者中国标准时间处理成 2018-05-01 00:00:00 这种格式
/*
* 将时间戳或者中国标准时间处理成 2018-05-01 00:00:00 这种格式
* @param {时间戳或者中国标准时间} timestamp
* @param {一状态 } state ture要时分秒 false不要时分秒
*/
export function timestampToTimeHour(timestamp, state) {
let date = new Date(timestamp) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = date.getFullYear() + '-' // 年
let M = (date.getMonth() + 1).toString().padStart(2, '0') + '-'
let D =
date
.getDate()
.toString()
.padStart(2, '0') + ' '
let h =
date
.getHours()
.toString()
.padStart(2, '0') + ':'
let m =
date
.getMinutes()
.toString()
.padStart(2, '0')
/* let s = date
.getSeconds()
.toString()
.padStart(2, '0') */
return state ? Y + M + D + h + m : Y + M + D
}
获取当前日期 toSeconds:精确到秒
// 获取当前日期 toSeconds:精确到秒
export function getNowFormatDate(toSeconds) {
var date = new Date()
var seperator1 = '-'
var year = date.getFullYear()
var month = date.getMonth() + 1
var strDate = date.getDate()
if(month >= 1 && month <= 9) {
month = '0' + month
}
if(strDate >= 0 && strDate <= 9) {
strDate = '0' + strDate
}
var currentdate = year + seperator1 + month + seperator1 + strDate
if(toSeconds) {
currentdate += ` ${date.getHours()}:${date.getMinutes()}:${date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()}`
}
return currentdate
}
日期转大写
// 日期转大写 - yangxiaoying
export function toSuperDate(date, fmt) {
let unitMapper = null,
dateStr = '',
unit = []
let month = '',
day = ''
unit = [
['0', '〇'],
['1', '一'],
['2', '二'],
['3', '三'],
['4', '四'],
['5', '五'],
['6', '六'],
['7', '七'],
['8', '八'],
['9', '九'],
['a', '十']
]
unitMapper = new Map(unit)
month = date.getMonth() + 1
day = date.getDate()
dateStr = dateFormat(date, fmt)
if(dateStr) {
// 加 ‘十’ 字
if(month > 10) {
dateStr = dateStr.replace(/(?<=\u5E74)1/, 'a')
} else if(month === 10) {
dateStr = dateStr.replace(/(?<=\u5E74)10/, 'a')
} else {
dateStr = dateStr.replace(/(?<=\u5E74)0/, '')
}
if(day < 10) {
dateStr = dateStr.replace(/(?<=\u6708)0/, '')
} else if(day === 10) {
dateStr = dateStr.replace(/(?<=\u6708)10/, 'a')
} else if(day === 20) {
dateStr = dateStr.replace(/(?<=\u6708)20/, '2a')
} else if(day === 30) {
dateStr = dateStr.replace(/(?<=\u6708)30/, '3a')
} else {
let dayStr = 'a' + dateStr.slice(-2)
dateStr = dateStr.slice(0, -2) + dayStr
}
for(let i of dateStr) {
if([...unitMapper.keys()].indexOf(i) >= 0) {
dateStr = dateStr.replace(i, unitMapper.get(i))
}
}
}
return dateStr
}