uniapp自定義的日歷(純手寫)

效果圖:

html:

<!-- 年月 --><view class="box"><view class="box_time"><view class="time"><image @click="lefts" :src="url+'/uploads/20231206/9d1fb520b12383960dca3c214d84fa0a.png'" mode=""></image><text>{{year}}年{{month}}月</text><image @click="right" :src="url+'/uploads/20231206/c2f706c19e0de31b2139939c3cb089e4.png'" mode=""></image></view></view></view><!-- 周 --><view class="box_week"><view class="week"><text v-for="(item,index) in week" :key="index">{{item}}</text></view></view><!-- 日期 --><view class="date"><view class="date_list"><view class="dates" v-for="(item,index) in day" :key="index"><view:class="item.num == sun ? 'list_yes' : (month > months ? 'list_null' :(year > years ? 'list_null' :(month == months && year == years && item.num > san ? 'list_null' :'list')))"@click="click(item)" :style="item.day  > 7 && !more_status ? 'display:none;':''"><!-- <view class="list"> --><text>{{item.day}}</text><view:class="item.status ? 'bars' : (item.num > san ? '' : (month > months ? '' :(year > years ? '' :(month == months && year == years && item.num > san ? '' :'bar'))))"><p></p></view></view></view></view></view>

參數描述:

day:獲取每個月有幾天

js:

year: '', //現在的年份  會變
years: '', //現在的年份不  會變
month: '', //現在的月份  會變
months: '', //現在的月份  不會變
day: '', //指定年月的天數
sun: '', //今天的日
week: '', //指定日期的第一天的星期幾
more_status: false, //是否展開更多
date: '', //現在的時分秒
onLoad() {uni.showLoading({title: '加載中...',mask: true});let myDate = new Date();this.year = myDate.getFullYear();this.years = myDate.getFullYear();this.month = String(myDate.getMonth() + 1).padStart(2, '0');this.months = String(myDate.getMonth() + 1).padStart(2, '0');this.week = this.getweekday(this.year + '-' + this.month + '-' + '01')this.getMonthDays2()this.sun = String(myDate.getDate()).padStart(2, '0');this.san = String(myDate.getDate()).padStart(2, '0');let h = myDate.getHours(); //小時let m = myDate.getMinutes(); //分鐘let s = myDate.getSeconds(); //秒this.date = h + ':' + m + ':' + s //時分秒},
// 獲取指定年月份的天數getMonthDays2() {let time = this.year + '-' + this.monthlet year = time.split('-')[0];let month = time.split('-')[1];let date = new Date(year, month, 0); // 這里的month,比我們日常說的幾 月份小1,10則表示11月份let ti = date.getDate()let array = []for (let i = 0; i < ti; i++) {array.push({day: i + 1,num: String(i + 1).padStart(2, '0')})}this.day = array;},
getweekday(date) {var weekArray = new Array("7", "1", "2", "3", "4", "5", "6");var week = weekArray[new Date(date).getDay()]; //注意此處必須是先new一個Datelet array = []for (let i = 0; i < 7; i++) {let time = Number(week) + iif (time > 7) {time = time - 7}if (time == 1) time = '一'if (time == 2) time = '二'if (time == 3) time = '三'if (time == 4) time = '四'if (time == 5) time = '五'if (time == 6) time = '六'if (time == 7) time = '日'array.push(time)}return array;},

自行研究

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211069.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211069.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211069.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue獲取主機id和IP地址

獲取主機id和IP地址 在vue.config.js const os require(“os”); function getNetworkIp() { let needHost “”; // 打開的host try { // 獲得網絡接口列表 let network os.networkInterfaces(); for (let dev in network) { let iface network[dev]; for (let i 0; i …

LLM之Agent(五)| AgentTuning:清華大學與智譜AI提出AgentTuning提高大語言模型Agent能力

?論文地址&#xff1a;https://arxiv.org/pdf/2310.12823.pdf Github地址&#xff1a;https://github.com/THUDM/AgentTuning 在ChatGPT帶來了大模型的蓬勃發展&#xff0c;開源LLM層出不窮&#xff0c;雖然這些開源的LLM在各自任務中表現出色&#xff0c;但是在真實環境下作…

【Android】Glide的簡單使用(下)

文章目錄 緩存設置內存緩存硬盤緩存自定義磁盤緩存行為圖片請求優先級縮略圖旋轉圖片Glide的回調:TargetsBaseTargetTarget注意事項設置具體尺寸的Target 調試及Debug獲取異常信息 配置第三方網絡庫自定義緩存 緩存設置 GlideApp .with(context).load(gifUrl).asGif().error(…

MySQL_7.索引概述

1.什么是索引 在關系數據庫中&#xff0c;索引是一種單獨的、物理的數對數據庫表中一列或多列的值進行排序的一種存儲結構。 它是某個表中一列或若干列值的集合和相應的指向表中物理標識這些值的數據頁的邏輯指針清單 2.索引的優點 (1)通過創建唯一性索引,可以保證數據庫表中每…

編寫Yaml文件當Poc,利用Nuclei掃描器去掃描漏洞

編寫Yaml文件當Poc,利用Nuclei掃描器去掃描漏洞 YAML是一種數據序列化語言&#xff0c;它的基本語法規則注意如下&#xff1a; -大小寫敏感 -使用縮進表示層級關系 -縮進時不允許使用Tab鍵&#xff0c;只允許使用空格。 -縮進的空格數目不重要&#xff0c;只要相同層級的元…

VSCode如何設置Vue前端的debug調試

vscode在調試vue.代碼時&#xff0c;如何進行debug? 1.安裝Chrome Debug插件。 2.在launch.json中&#xff0c;將url修改成你前端項目的路徑&#xff1a; 1 {2 // Use IntelliSense to learn about possible attributes.3 // Hover to view descriptions of existing att…

redis 三主三從高可用集群docker swarm

由于數據量過大&#xff0c;單個Master復制集難以承擔&#xff0c;因此需要對多個復制集進行集群&#xff0c;形成水平擴展每個復制集只負責存儲整個數據集的一部分&#xff0c;這就是Redis的集群&#xff0c;其作用是提供在多個Redis節點間共享數據的程序集。 官網介紹地址 re…

Elasticsearch:向量數據庫的真相

通過工作示例了解什么是向量數據庫、它們如何實現 “相似性” 搜索以及它們可以在明顯的 LLM 空間之外的哪些地方使用。除非你一直生活在巖石下&#xff0c;否則你可能聽說過諸如生成式人工智能和大型語言模型&#xff08;LLM&#xff09;之類的術語。 除此之外&#xff0c;你很…

如何利用Axure制作移動端產品原型

Axure是一款專業的快速原型設計工具&#xff0c;作為專業的原型設計工具&#xff0c;Axure 能夠快速、高效地創建原型&#xff0c;同時支持多人協作設計和版本控制管理。它已經得到了許多大公司的采用&#xff0c;如IBM、微軟、思科、eBay等&#xff0c;這些公司都利用Axure 進…

android 13.0 Settings去掉二級三級菜單搜索功能

1.概述 在13.0的系統rom定制化開發中,由于客戶定制開發需求,需要去掉Settings里面的搜索功能,主頁面的搜索功能,在前面的章節已經講了 這里需要去掉二級三級菜單的搜索功能,需要從搜索功能流程分析去掉搜索功能 2.Settings去掉二級三級菜單搜索功能核心代碼 packages/ap…

stl模板庫成員函數重載類型混肴編譯不通過解決方法

stl模板庫成員函數重載類型混肴編譯不通過解決方法 這種方式編譯不通過IsArithmetic和HasMemberList編譯器存在混肴 template <typename T, typename Enable std::enable_if<IsArithmetic<T>::value>::type >static void DumpWrapper(T* filed, std::strin…

SAP UI5 walkthrough step7 JSON Model

這個章節&#xff0c;幫助我們理解MVC架構中的M 我們將會在APP中新增一個輸入框&#xff0c;并將輸入的值綁定到model&#xff0c;然后將其作為描述&#xff0c;直接顯示在輸入框的右邊 首先修改App.controllers.js webapp/controller/App.controller.js sap.ui.define([&…

python變量的命名和使用

變量名只能包含字母、數字和下劃線 變量名只能包含字母、數字和下劃線。變量名可以字母或下劃線打頭&#xff0c;但不能以數字打頭。例如&#xff0c;可將變量命名為message_1&#xff0c;但不能將其命名為1_message。 Python 語言中&#xff0c;以下劃線開頭的標識符有特殊含…

Redis server啟動源碼

入口main函數 src/redis.c文件main函數 int main(int argc, char **argv) {struct timeval tv;/* We need to initialize our libraries, and the server configuration. */// 初始化庫 #ifdef INIT_SETPROCTITLE_REPLACEMENTspt_init(argc, argv); #endif//設置本地時間setl…

翻譯: 生成式人工智能的經濟潛力 第3部分工作和生產力的影響 The economic potential of generative AI

麥肯錫報告 翻譯: 生成式人工智能的經濟潛力 第一部分商業價值 The economic potential of generative AI翻譯: 生成式人工智能的經濟潛力 第2部分行業影響 The economic potential of generative AI 1. 工作和生產力的影響 技術幾十年來一直在改變工作的解剖學。多年來&…

vue全屏事件與關閉全屏事件

首先&#xff0c;在 Vue 組件中&#xff0c;可以使用 click 或者 v-on 來監聽點擊事件&#xff0c;然后通過調用相應的方法來觸發全屏或關閉全屏。 執行requestFullscreen事件 <template><div><button click"enterFullScreen">進入全屏</butt…

前端知識(十二)———ES6迭代器

ES6中的迭代器是一種新的對象&#xff0c;它具有一個next()方法。next()方法返回一個對象&#xff0c;這個對象包含兩個屬性&#xff1a;value和done。value屬性是迭代器中的下一個值&#xff0c;done屬性是一個布爾值&#xff0c;表示迭代器是否已經遍歷完所有的值。迭代器是一…

js實現在線預覽(PC)圖片(jpg、png)、pdf、excel(xlsx)、docx

js實現圖片預覽 參考&#xff1a;添加鏈接描述 圖片預覽 本來用的是element-plus自帶的組件el-image&#xff0c;但是去不掉縮略圖&#xff0c;所以換成了el-imag-viewer組件&#xff08;圖片可拖拽&#xff09;&#xff0c;由于用的vite沒有require方法&#xff0c;需要自己處…

c++新經典模板與泛型編程:const修飾符的移除與增加

const修飾符的移除 讓你來寫移除const修飾符&#xff0c;你會怎么樣來寫&#xff1f; &#x1f602;&#x1f602;trait類模板&#xff0c;如下 #include <iostream>// 泛化版本 template<typename T> struct RemoveConst {using type T; };// 特化版本 template…

docker-compose 常用命令和指令

目錄 1. 概要 2. 常用的docker-compose命令 2.1、image 2.2、build 2.3、command 2.4、links 2.5、external_links 2.6、ports 1.7、expose 1.8、volumes 1.9、volumes_from 1.10、environment 1.11、networks 1. 概要 默認的模板文件是 docker-compose.yml&…