網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
<template>
<div>
<div class="block">
<el-date-picker
v-model="value2"
@change="dateTimechange"
type="daterange"
align="right"
unlink-panels
range-separator=""
start-placeholder=""
end-placeholder=""
:picker-options="pickerOptions"
value-format="timestamp"
clearable
>
</el-date-picker>
</div>
</div>
</template>
<script>
export default {
data() {
return {
pickerOptions: {
shortcuts: [
{
text: "今日",
onClick(picker) {
const end = new Date();
const start = new Date(new Date().setHours(0, 0, 0, 0));
console.log("23123", start, end);
picker.$emit("pick", [start, end]);
},
},
{
text: "昨日",
onClick(picker) {
const start = new Date();
start.setTime(start.getTime() - 24 * 60 * 60 * 1000);
start.setHours(0, 0, 0, 0);
const end = new Date();
end.setTime(end.getTime() - 24 * 60 * 60 * 1000);
end.setHours(23, 59, 59, 0);
picker.$emit("pick", [start, end]);
},
},
{
text: "本周",
onClick(picker) {
var end = new Date();
var week = end.getDay();
//一天的毫秒數(shù)
var millisecond = 1000 * 60 * 60 * 24;
//減去的天數(shù)
var minusDay = week != 0 ? week - 1 : 6;
//本周 周一
var monday = new Date(end.getTime() - minusDay * millisecond);
const start = new Date(monday);
start.setHours(0, 0, 0, 0);
console.log("2312", start, end);
picker.$emit("pick", [start, end]);
},
},
{
text: "上周",
onClick(picker) {
// 上周開(kāi)始時(shí)間
const starta = new Date();
var first = starta.getDate() - starta.getDay() - 6;
var startDate = new Date(starta.setDate(first));
const start = new Date(startDate);
start.setHours(0, 0, 0, 0);
// 上周結(jié)束時(shí)間
var currentDate = new Date();
var firsts = currentDate.getDate() - currentDate.getDay() - 6;
var last = firsts + 6;
var endDate = new Date(currentDate.setDate(last));
const end = new Date(endDate);
end.setHours(23, 59, 59, 0);
picker.$emit("pick", [start, end]);
},
},
{
text: "本月",
onClick(picker) {
let currentDate = new Date();
let currentMonth = currentDate.getMonth();
//獲得當(dāng)前年份4位年
let currentYear = currentDate.getFullYear();
//求出本月第一天
const start = new Date(currentYear, currentMonth, 1);
const end = new Date();
picker.$emit("pick", [start, end]);
},
},
{
text: "上月",
onClick(picker) {
let that = this;
//獲取當(dāng)前時(shí)間
var currentDate = new Date();
//獲得當(dāng)前月份0-11
var currentMonth = currentDate.getMonth();
//獲得當(dāng)前年份4位年
var currentYear = currentDate.getFullYear();
//獲得上一個(gè)月的第一天
if (currentMonth == 0) {
currentMonth = 11; //月份為上年的最后月份
currentYear--; //年份減1
return new Date(currentYear, currentMonth, 1);
} else {
//否則,只減去月份
currentMonth--;
}
const start = new Date(currentYear, currentMonth, 1);
//獲取當(dāng)前時(shí)間
var currentDates = new Date();
//獲得當(dāng)前月份0-11
var currentMonths = currentDates.getMonth();
//獲得當(dāng)前年份4位年
var currentYears = currentDates.getFullYear();
//當(dāng)為12月的時(shí)候年份需要加1
//月份需要更新為0 也就是下一年的第一個(gè)月
if (currentMonths == 11) {
currentYears++;
currentMonths = 0; //就為
} else {
//否則只是月份增加,以便求的下一月的第一天
currentMonths++;
}
//一天的毫秒數(shù)
var millisecond = 1000 * 60 * 60 * 24;
//求出上月的最后一天
var aa = new Date();
var thisMonth = aa.getMonth();
//獲得當(dāng)前年份4位年
var thisYear = aa.getFullYear();
//求出本月第一天
var firstDay = new Date(thisYear, thisMonth, 1);
var lastDay = new Date(firstDay.getTime() - millisecond);
const end = new Date(lastDay);
end.setHours(23, 59, 59, 0);
picker.$emit("pick", [start, end]);
},
},
{
text:'本年',
onClick(picker) {
//獲取當(dāng)前時(shí)間
var currentDate=new Date();
//獲得當(dāng)前年份4位年
var currentYear=currentDate.getFullYear();
//本年第一天
const start=new Date(currentYear,0,1);
//本年最后一天
const end=new Date(currentYear,11,31);
console.log("2312", start, end);
picker.$emit("pick", [start, end]);
}
},
{
text:'上年',
onClick(picker) {
//獲取當(dāng)前時(shí)間
var currentDate=new Date();
//獲得當(dāng)前年份4位年
var currentYear=currentDate.getFullYear()-1;
//本年第一天
const start=new Date(currentYear,0,1);
//本年最后一天
const end=new Date(currentYear,11,31);
console.log("2312", start, end);
picker.$emit("pick", [start, end]);
}
},
{
text:'1季度',
onClick(picker) {
//獲取當(dāng)前時(shí)間
var currentDate=new Date();
//獲得當(dāng)前年份4位年
var currentYear=currentDate.getFullYear();
//第一季度第一天
const start=new Date(currentYear,0,1);
//第一季度最后一天
const end=new Date(currentYear,2,31);
console.log("2312", start, end);
picker.$emit("pick", [start, end]);
}
},
{
text:'2季度',
onClick(picker) {
//獲取當(dāng)前時(shí)間
var currentDate=new Date();
//獲得當(dāng)前年份4位年
var currentYear=currentDate.getFullYear();
//第一季度第一天
const start=new Date(currentYear,3,1);
//第一季度最后一天
const end=new Date(currentYear,5,30);
console.log("2312", start, end);
picker.$emit("pick", [start, end]);
}
},
{
text:'3季度',
onClick(picker) {
//獲取當(dāng)前時(shí)間
var currentDate=new Date();
//獲得當(dāng)前年份4位年
var currentYear=currentDate.getFullYear();
const start=new Date(currentYear,6,1);
const end=new Date(currentYear,8,30);
console.log("2312", start, end);
picker.$emit("pick", [start, end]);
}
},
{
text:'4季度',
onClick(picker) {
//獲取當(dāng)前時(shí)間
var currentDate=new Date();
//獲得當(dāng)前年份4位年
var currentYear=currentDate.getFullYear();
const start=new Date(currentYear,9,1);
const end=new Date(currentYear,11,31);
console.log("2312", start, end);
picker.$emit("pick", [start, end]);
}
}
],
},
value2: "",
startTime: '',
endTime: '',
};
},
methods: {
dateTimechange() {
if (this.value2 && this.value2 > 0) {
this.startTime = this.value2[0]
this.endTime = this.value2[1]
}
console.log(this.value2, 'value2')
},
/***
* 本月的第一天時(shí)間
*/
getBeginMonth() {
var aa = new Date();
var thisMonth = aa.getMonth();
//獲得當(dāng)前年份4位年
var thisYear = aa.getFullYear();
//求出本月第一天
var firstDay = new Date(thisYear, thisMonth, 1);
return firstDay;
},
getPriorMonthFirstDay(year, month) {
//年份為0代表,是本年的第一月,所以不能減
if (month == 0) {
month = 11; //月份為上年的最后月份
year--; //年份減1
return new Date(year, month, 1);
}
//否則,只減去月份
month--;
return new Date(year, month, 1);
},
},
};
</script>
<style>
.block{
width: 60px;
height: 50px;
overflow: hidden;
background: lightblue;
}
.block .el-picker-panel *[slot="sidebar"],
.el-picker-panel__sidebar {
position: absolute;
top: 100;
right: 0;
/* bottom: 0; */
width: 100%;
height: 20%;
/* display: flex; */
border-bottom: 2px solid #e4e4e4;
-webkit-box-sizing: border-box;
/* box-sizing: border-box; */
padding-top: 6px;
background-color: #ffffff;
overflow: auto;
}
.el-picker-panel__sidebar .el-picker-panel__shortcut {
width: 80px;
height: 35px;
line-height: 35px;
font-size: 14px;
text-align: center;
float: left;
z-index: 10000;
color: #9babc5;
}
.block .el-picker-panel *[slot="sidebar"] + .el-picker-panel__body,
.el-picker-panel__sidebar + .el-picker-panel__body {
margin-left: 0;
height: 410px;
width: 600px;
}
.el-date-range-picker__content.is-left,
.el-date-range-picker .el-picker-panel__content {
border-right: 1px solid #e4e4e4;
margin-top: 80px;
}
.el-popper[x-placement^="bottom"] {
/* margin-top: 12px; */
width: 600px;
}
.block .el-picker-panel__body {
top: 83px;
}
</style>
原文鏈接:https://blog.csdn.net/weixin_43923808/article/details/131415778
- 上一篇:沒(méi)有了
- 下一篇:沒(méi)有了
相關(guān)推薦
- 2022-08-11 python面積圖之曲線圖的填充_python
- 2023-01-17 pytorch?geometric的GNN、GCN的節(jié)點(diǎn)分類方式_python
- 2023-04-07 React?styled?components樣式組件化使用流程_React
- 2022-07-21 cartographer 編譯遇到 abseil的問(wèn)題
- 2022-10-31 Python遍歷列表時(shí)刪除元素案例_python
- 2022-09-09 OpenSSL生成v3證書(shū)方法及配置文件詳解_其它綜合
- 2023-03-11 Rust如何進(jìn)行模塊化開(kāi)發(fā)技巧分享_Rust語(yǔ)言
- 2023-02-18 Flow轉(zhuǎn)LiveData數(shù)據(jù)丟失原理詳解_Android
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支