激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - vue.js - vue 根據選擇的月份動態展示日期對應的星期幾

vue 根據選擇的月份動態展示日期對應的星期幾

2022-01-19 14:51豫見陳公子 vue.js

這篇文章主要介紹了vue 如何根據選擇的月份動態展示日期對應的星期幾,幫助大家更好的利用vue框架處理日期需求,感興趣的朋友可以了解下

我等卑微的碼農,依舊還得唱著“你我皆凡人,生在人世間,終日奔波苦,一刻不得閑,既然不是仙,難免有雜念,煩惱放兩旁,工資擺中間,多少男子漢,禿頂又肥胖,加班的日夜,沒有買保險”。

雖一直反抗,卻從未奏效。大老板們是夢想照進現實,我等是夢想撞見黑鍋!

牢騷了那么多,鍋還得背,班還得加,code還得繼續碼!!!

來,把標題中所提到的這個效果給實現一下吧。

原理其實很簡單,先得有一個選擇年月的輸入框吧,這里我用的是Element的DatePicker日期選擇器組件,具體使用方法不多說,自己去看Element的API吧。

vue 根據選擇的月份動態展示日期對應的星期幾

然后就是根據選擇的月份來動態顯示當前月份的每一天了,這里用到了日期對象的兩個方法:setMonth和setDate。

其中,setMonth(month, day) 方法用于設置月份,參數介紹如下:
month:必需。一個表示月份的數值,該值介于 0(一月) ~ 11(十二月) 之間。
day:可選。一個表示月的某一天的數值,該值介于 1 ~ 31 之間(以本地時間計)。在 EMCAScript 標準化之前,不支持該參數。

setDate(day) 方法用于設置一個月的某一天,參數介紹如下:
day:必需。表示一個月中的一天的一個數值(1 ~ 31)。

具體代碼如下:

<template>
<div>
<el-date-picker v-model="month" type="month" @change="monthChange" placeholder="選擇月" />
<p>
 當月的每一天:
 <span v-for="item in everyDay" :key="item" style="margin-right:10px;">{{item}}</span>
</p>
</div>
</template>

<script>
export default {
data() {
return {
 month: "",
 everyDay: []
};
},
mounted(){
let date = new Date(), month = date.getMonth();
this.getEveryDay(date, month);
},
methods: {
monthChange(date) {
 this.getEveryDay(date, date.getMonth());
},
getEveryDay(date, month) {
 //設置月份
 date.setMonth(month + 1);
 //設置一個月的某一天-這里設置為零則取到的日期中的天就會是當月的最后一天(比如,二月份就是28或29,其他月份就是30或31),方便下邊的循環
 date.setDate(0);
 let dayArry = [];
 //獲取月份的某一天
 let day = date.getDate();

 for (let i = 1; i <= day; i++) {
  date.setDate(i);  //如果只獲取當前選擇月份的每一天,則不需要date.setDate(i)只需dayArry.push(i)即可,其中date.setDate(i)是設置當前月份的每一天
  dayArry.push(i + ' ' + this.getWeekday(date.getDay()));  //選中月份的每一天和當天是星期幾
 }

 this.everyDay = dayArry;
},
getWeekday(day){
 return ["周日", "周一", "周二", "周三", "周四", "周五", "周六"][day];
},
}
};
</script>

展示效果如下:

vue 根據選擇的月份動態展示日期對應的星期幾

注意,由于getMonth方法返回的值是從0開始的,所以如果要想獲得正確的月份,需要在返回的值的基礎上加1。而setDate這里有一點特殊,需要詳細說明一下,setDate用于設置一個月的某一天,比如setDate(1)就是設置一個月的第一天,setDate(10)就是設置一個月的第十天。而由于眾所周知的原因,月份可能會有28天或29天或30天或31天,如果讓我們自己去寫代碼判斷,又太過于繁瑣,此時setDate(0)的牛逼之處就顯示出來了(官方給出的setDate的參數介于1-31之間,將0給無情地拋棄了,零兄此時悲傷的高歌:無情的世界無情的你,你把老子當成手中的垃圾),setDate(0)設置的是一個月的最后一天,甭管這一天是28還是29,亦或是30或31(零兄此時高喊:以前你對我愛答不理,現在讓你高攀不起!),之后再通過getDate方法來獲取我們已經設置好的一個月份的最后一天,最后來上一個for循環,將每一天給塞進一個數組中,就可以打完收工!

當然,我們還可以不展示每一天對應的是星期幾,只將每周的周六周日所對應的那兩天給標紅展示,代碼只是做了一點小修改:

<template>
<div style="margin:50px;">
<el-date-picker v-model="month" type="month" @change="monthChange" placeholder="選擇月" />
<p style="margin-top:10px;">
 當月的每一天:
 <span v-for="item in everyDay" :key="item" style="margin-right:10px;" v-html="item"></span>
</p>
</div>
</template>

<script>
export default {
data() {
return {
 month: "",
 everyDay: []
};
},
mounted(){
let date = new Date(), month = date.getMonth();
this.getEveryDay(date, month);
},
methods: {
monthChange(date) {
 this.getEveryDay(date, date.getMonth());
},
getEveryDay(date, month) {
 //設置月份
 date.setMonth(month + 1);
 //設置一個月的某一天-這里設置為零則取到的日期中的天就會是當月的最后一天(比如,二月份就是28或29,其他月份就是30或31),方便下邊的循環
 date.setDate(0);
 let dayArry = [];
 //獲取月份的某一天
 let day = date.getDate();

 for (let i = 1; i <= day; i++) {
  date.setDate(i);
  if(date.getDay() == 0 || date.getDay() == 6){
   dayArry.push('<i class="red">' + i + '</i>');
  }else{
   dayArry.push(i);
  }
 }

 this.everyDay = dayArry;
},
}
};
</script>
<style>
.red{color:red;font-style:normal;}
</style>

展示效果如下:

vue 根據選擇的月份動態展示日期對應的星期幾

作者:小壞

出處:http://tnnyang.cnblogs.com

以上就是vue 根據選擇的月份動態展示日期對應的星期幾的詳細內容,更多關于vue 選擇月份動態展示日期的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/tnnyang/p/12187257.html

延伸 · 閱讀

精彩推薦
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學可以研究下...

    yukiwu6752022-01-25
  • vue.js用vite搭建vue3應用的實現方法

    用vite搭建vue3應用的實現方法

    這篇文章主要介紹了用vite搭建vue3應用的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.jsVue中引入svg圖標的兩種方式

    Vue中引入svg圖標的兩種方式

    這篇文章主要給大家介紹了關于Vue中引入svg圖標的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    十里不故夢10222021-12-31
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關資料,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學的同學,可能js的基礎也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術團隊7992021-12-22
  • vue.jsVue2.x-使用防抖以及節流的示例

    Vue2.x-使用防抖以及節流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節流的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.jsVue2.x 項目性能優化之代碼優化的實現

    Vue2.x 項目性能優化之代碼優化的實現

    這篇文章主要介紹了Vue2.x 項目性能優化之代碼優化的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    優小U9632022-02-21
  • vue.jsVue項目中實現帶參跳轉功能

    Vue項目中實現帶參跳轉功能

    最近做了一個手機端系統,其中遇到了父頁面需要攜帶參數跳轉至子頁面的問題,現已解決,下面分享一下實現過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 舌头伸进添的我好爽高潮网站 | 国产精品视频一区二区三区四区五区 | 中国漂亮护士一级a毛片 | av在线在线 | 亚洲精品午夜视频 | 日本最新免费二区三区 | 男人午夜小视频 | 日韩视频在线观看免费视频 | 欧美黄色三级视频 | 成人国产精品一区二区毛片在线 | 国产乱淫av一区二区三区 | 中日韩乱码一二新区 | 国产69精品99久久久久久宅男 | 草久影视 | 亚洲国产中文字幕 | 欧美成人一区二区三区电影 | 一级黄色在线观看 | 黄色大片在线免费观看 | 最近免费观看高清韩国日本大全 | 福利在线影院 | 欧美城网站地址 | 免费视频xxxx| 欧美成人鲁丝片在线观看 | 欧美成a人片在线观看久 | 成人毛片免费看 | 久久久成人免费视频 | 亚洲午夜在线观看 | 一本精品999爽爽久久久 | 日本高清黄色片 | 成人影片在线免费观看 | 国产一区视频在线观看免费 | 最新午夜综合福利视频 | 毛片a区 | 超91在线| 欧美成人免费电影 | fc2成人免费人成在线观看播放 | 亚洲黑人在线观看 | 成人精品视频在线 | 成人福利视频导航 | 免费在线观看毛片视频 | 久久久久久久一区二区 |