首先是在工具包里封装时间格式化的方法,
// 全局挂载时间格式化的方法
export function formatter(thistime:any, fmt:string) {
var $this = new Date(thistime)
var o:any = {
'M+': $this.getMonth() + 1,
'd+': $this.getDate(),
'h+': $this.getHours(),
'm+': $this.getMinutes(),
's+': $this.getSeconds(),
'q+': Math.floor(($this.getMonth() + 3) / 3),
}
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
($this.getFullYear() + '').substr(4 - RegExp.$1.length)
)
}
for (var k in o) {
if (new RegExp('(' + k + ')').test(fmt)) {
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length)
)
}
}
return fmt
}
然后在需要的页面里引用或者全局挂载
// 初始化日期
const getnewDate = () => {
state.queryParams.startTime = formatter(
new Date().getTime() + -1 * 1000 * 60 * 60 * 24,
'yyyy-MM-dd 00:00:00'
)
state.queryParams.endTime = formatter(
new Date().getTime() + 0 * 1000 * 60 * 60 * 24,
'yyyy-MM-dd 23:59:59'
)
state.dataRanges = [state.queryParams.startTime, state.queryParams.endTime]
}
const timeDateRange = (e: string[]) => {
if (e.length != 0) {
state.queryParams.startTime = e[0]
state.queryParams.endTime = e[1]
} else {
state.queryParams.startTime = ''
state.queryParams.endTime = ''
}
}
<el-form-item label="申请日期">
<time-picker
v-model="dataRanges"
ref="timePickerRef"
type="daterange"
@change="timeDateRange"
></time-picker>
</el-form-item>
也可以格式化时间,需要填写时间格式 带时分秒就返回时分秒,不带就不返回
var dateTime = formatter(
new Date().getTime() + 1 * 1000 * 60 * 60 * 24,
'yyyy-MM-dd hh:mm:ss'
)