JS Date原型增加format(日期格式化)函数

Date.prototype.format = function(type) {
    
    
		let _timeStamp;
        if(this instanceof Date){
    
    
			_timeStamp = this.getTime();
		}
		else{
    
    
		  _timeStamp=new Date().getTime()
		}
		function formatTimeStamp(type, timeStamp = _timeStamp) {
    
    
			if (typeof _timeStamp === 'number' && !isNaN(_timeStamp)) {
    
    
				let res = '';
				let date = new Date(timeStamp)
				let year = date.getFullYear()
				let month = (date.getMonth() + 1).toString().padStart(2, '0')
				let day = date.getDate().toString().padStart(2, '0')
				let hour = date.getHours().toString().padStart(2, '0')
				let minus = date.getMinutes().toString().padStart(2, '0')
				let second = date.getSeconds().toString().padStart(2, '0')
				switch (type) {
    
    
					case 'YYYY':
						res = `${
      
      year}`
						break;
					case 'YYYY-MM':
						res = `${
      
      year}-${
      
      month}`
						break;
					case 'YYYY-MM-dd':
						res = `${
      
      year}-${
      
      month}-${
      
      day}`
						break;
					case 'YYYY-MM-dd HH:mm':
						res = `${
      
      year}-${
      
      month}-${
      
      day} ${
      
      hour}:${
      
      minus}`
						break;
					case 'YYYY-MM-dd HH:mm:ss':
						res = `${
      
      year}-${
      
      month}-${
      
      day} ${
      
      hour}:${
      
      minus}:${
      
      second}`
						break;
					case 'HH:mm:ss':
						res = `${
      
      hour}:${
      
      minus}:${
      
      second}`
						break;
					case 'HH:mm':
						res = `${
      
      hour}:${
      
      minus}`
						break;

				}
				return res
			}
			return this
		}

		return formatTimeStamp.call(this, type)

	}
    console.log(new Date().format('YYYY'))
	console.log(new Date().format('YYYY-MM'))
	console.log(new Date().format('YYYY-MM-dd'))
	console.log(new Date().format('YYYY-MM-dd HH:mm'))
	console.log(new Date().format('YYYY-MM-dd HH:mm:ss'))
	console.log(new Date().format('HH:mm:ss'))
	console.log(new Date().format('HH:mm'))
    console.log(new Date(1641081600000).format('YYYY-MM-dd'))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sd1sd2/article/details/127297455