前端日期类

一、获取日期、日期时间工具类

_this.$tool.dateformat(new Date(), ‘yyyy-mm-dd’);

_this.$tool.dateformat(new Date(), ‘yyyy-mm-dd hh:mm:ss’);

<el-form-item label="日期" label-width="80">
    <el-date-picker
      v-model="state.date"
      align="right"
      type="date"
      value-format="YYYY-MM-DD"
      placeholder="选择日期"
      :clearable="false"/>
</el-form-item>

<el-form-item label="日期时间" label-width="80">
    <el-date-picker
      v-model="state.dateTime"
      align="right"
      type="datetime"
      value-format="YYYY-MM-DD HH:mm:ss"
      placeholder="选择日期"
      :clearable="false"/>
</el-form-item>
<script setup>
import {getCurrentInstance,reactive,onMounted} from 'vue'
	const {proxy} = getCurrentInstance()
	const _this = proxy
	const state = reactive({
	    date:'',
	    dateTime:'',
	})
	onMounted(() => {
		state.date=_this.$tool.dateformat(new Date(), 'yyyy-mm-dd');
		state.dateTime=_this.$tool.dateformat(new Date(), 'yyyy-mm-dd hh:mm:ss');
	})
</script>

v_tool.js

import CryptoJS from 'crypto-js'
import moment from 'moment'

const tool = new(function() {
	var _this = this
	_this.deepClone = function(obj) {
		const _toString = Object.prototype.toString
		// null, undefined, non-object, function
		if (!obj || typeof obj !== 'object') {
			return obj
		}
		// DOM Node
		if (obj.nodeType && 'cloneNode' in obj) {
			return obj.cloneNode(true)
		}
		// Date
		if (_toString.call(obj) === '[object Date]') {
			return new Date(obj.getTime())
		}
		// RegExp
		if (_toString.call(obj) === '[object RegExp]') {
			const flags = []
			if (obj.global) {
				flags.push('g')
			}
			if (obj.multiline) {
				flags.push('m')
			}
			if (obj.ignoreCase) {
				flags.push('i')
			}

			return new RegExp(obj.source, flags.join(''))
		}
		const result = Array.isArray(obj) ? [] : obj.constructor ? new obj.constructor() : {}
		for (const key in obj) {
			result[key] = _this.deepClone(obj[key])
		}
		return result
	}

	_this.dateformat = function(date, formatstr) {
		var result = ''
		var _year = date.getFullYear() + ''
		var _month = date.getMonth() + 1 + ''
		_month = (_month.length == 1 ? '0' : '') + _month
		var _date = date.getDate() + ''
		_date = (_date.length == 1 ? '0' : '') + _date
		var _hour = date.getHours() > 9 ? date.getHours().toString() : '0' + date.getHours()
		var _minute = date.getMinutes() > 9 ? date.getMinutes().toString() : '0' + date.getMinutes()
		var _second = date.getSeconds() > 9 ? date.getSeconds().toString() : '0' + date.getSeconds()
		var format = arguments[1] || 'yyyymmdd'
		format = format.toLowerCase()
		switch (format) {
			case 'yyyy-mm-dd':
				result = _year + '-' + _month + '-' + _date
				break
			case 'y-m-d':
				result = _year + '-' + _month + '-' + _date
				break
			case 'yyyy-mm':
				result = _year + '-' + _month
				break
			case 'dd/mm/yyyy':
				result = _date + '/' + _month + '/' + _year
				break
			case 'mm/dd/yyyy':
				result = _month + '/' + _date + '/' + _year
				break
			case 'mm/dd/yyyy hh:mm:ss':
				result = _month + '/' + _date + '/' + _year + ' ' + _hour + ':' + _minute + ':' + _second
				break
			case 'yyyy-mm-dd hh:mm:ss':
				result = _year + '-' + _month + '-' + _date + ' ' + _hour + ':' + _minute + ':' + _second
				break
			case 'hh:mm:ss':
				result = _hour + ':' + _minute + ':' + _second
				break
			case 'yyyymm':
				result = _year + _month
				break
			case 'yyyymmddhhmmss':
				result = _year + _month + _date + _hour + _minute + _second
				break
			case 'yymm':
				result = _year.substr(2, 2) + _month
				break
			case 'yyyy':
				result = _year
				break
			case 'yyyymmdd':
				result = _year + _month + _date
				break
				break
			case '年月日':
				result = _year + '年' + _month + '月' + _date + '日'
				break
			default:
				result = _year + _month + _date
		}
		return result
	}

})()

export default tool

二、new Date() 指定日期、日期时间 Date格式

var startDate=new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0);
var endDate=new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59);
console.log(startDate)
console.log(endDate)

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值