日期-时间格式 合集

目录

标准格式转换date对象的日期格式

 时间戳或者中国标准时间处理成 2018年05月01日00时00分00秒  这种格式

 时间戳或者中国标准时间处理成 2018-05-01 00:00:00  这种格式

 时间戳或者中国标准时间处理成 2018-05-01 00:00:00  这种格式

 获取当前日期 toSeconds:精确到秒

日期转大写


标准格式转换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
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值