php如果實現日歷的制作,教大家制作簡單的php日歷

最近的一個項目中,需要將數據用日歷方式顯示,網上有很多的JS插件,后面為了自己能有更大的控制權,決定自己制作一個日歷顯示。如下圖所示:

1-201202152520Z5.png

一、計算數據

1、new一個Calendar類

2、初始化兩個下拉框中的數據,年份與月份

3、初始化要搜索的年份和月份

4、計算得出日歷中每一天的數據信息,包括css、天數

php" id="highlighter_942238">

二、html展示

1、休息天的背景色是不同的,不是當前搜索年月的天數字體顏色也是不同的

2、div中做初始化年份與月份的下拉框的操作,并選中當前要搜索的年月

3、數據已計算好,哪個td屬于哪個tr也已做好,直接將table打印出來即可

三、Calendar類

1、threshold方法,生成日歷的各個邊界值

1)計算這個月總天數

2)計算這個月第一天與最后一天,各是星期幾

3)計算日歷中的第一個日期與最后一個日期

2、caculate方法,計算日歷的天數與樣式

1)將上個月的天數計算出來,本月第一天的星期不是星期天的話,就需要根據上個月的最后一天計算

2)將本月的天數遍歷出來,如果是休息天就加上特殊的css樣式

3)將下個月的天數計算出來,分三種情況,星期日、星期六和工作日

3、draw方法,畫表格,設置table中的tr與td

1)數據將要用table標簽來顯示,所以這里要將各個tr下面的td排列好

2)$index % 7 == 0 計算表格每行的第一列

3)$index % 7 == 6 || $index == ($length-1) 計算每行的最后一列,或$caculate的最后一個數據

4)將中間行添加到$tr中,就是每一行的array

通過本文大家應該知道日歷制作的方法了,那就趁熱打鐵,做一個屬于自己日歷。

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

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

相關文章

Spark之 使用SparkSql操作mysql和DataFrame的Scala實現

通過讀取文件轉換成DataFrame數據寫入到mysql中 package com.zy.sparksqlimport java.util.Propertiesimport org.apache.spark.SparkContext import org.apache.spark.rdd.RDD import org.apache.spark.sql.{DataFrame, Row, SparkSession} import org.apache.spark.sql.types…

web服務器之iis,apache,tomcat三者之間的比較

IIS-Apache-Tomcat的區別 IIS與Tomcat的區別 IIS是微軟公司的Web服務器。主要支持ASP語言環境. Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技術的標準實現,是基于Apache許可證下開發的SJP語言環境容器,嚴格得說不能算是一個WEB服務器,而是Apache服務適配器。 …

iOS CAGradientLayer顏色漸變

Gradient:本身就是梯度的意思,所以在這里就是作為漸變色來理解 CAGradientLayer用于處理漸變色的層結構CAGradientLayer的漸變色可以做隱式動畫大部分情況下,CAGradientLayer時和CAShapeLayer配合使用,CAShapeLayer這里就不介紹了CAGradientL…

編程要養成的好習慣

1.- DRY: Don’t repeat yourself. DRY 是一個最簡單的法則,也是最容易被理解的。但它也可能是最難被應用的(因為要做到這樣,我們需要在泛型設計上做相當的努力,這并不是一件容易的事)。它意味著,當我們在…

flink整合java,Flink使用SideOutPut替換Split實現分流

基于apache flink的流處理實時模型44元包郵(需用券)去購買 >以前的數據分析項目(版本1.4.2),對從Kafka讀取的原始數據流,調用split接口實現分流.新項目決定使用Flink 1.7.2,使用split接口進行分流的時候,發現接口被標記為depra…

虛機中訪問外網;NAT中的POSTROUTING是怎么搞的?

看下docker中是怎么配置的網絡 在虛機中訪問外網:設定了qemu,在主機上添加路由:sudo iptables -t nat -I POSTROUTING -s 192.168.1.110 -j SNAT --to-source 192.168.0.108 設置了這句話就可以訪問外網了。 設置了兩個虛擬機: ta…

Fragment結合ViewPager之懶加載

什么是懶加載?為什么要用懶加載?### 1、什么是懶加載 懶加載就是當ViewPager和Fragment結合在一起使用時,Fragment呈現在用戶面前時才加載數據,當其從未被呈現在用戶面前時,不會執行加載數據的代碼。這就是我所理解的懶…

WCF和webservice的區別

微軟論壇的斑竹回答如下: 腦內:果然是高大上啊 1.WebService:嚴格來說是行業標準,不是技術,使用XML擴展標記語言來表示數據(這個是夸語言和平臺的關鍵)。微 軟的Web服務實現稱為ASP.NET Web Ser…

職場不得不明白的十大定律

帕金森定律 美國著名歷史學家諾斯古德?帕金森通過長期調查研究,寫了一本名叫《帕金森定律》的書,他在書中闡述了機構人員膨脹的原因及后果:一個不稱職的官員,可能有三條出路。第一是申請退職,把位子讓給能干的人&am…

php控制器教程,laravel基礎教程 -- 控制器

HTTP 控制器簡介控制器允許你將相應的路由業務邏輯封裝在控制器類中進行有效的管理,這樣你不必將所有的路由邏輯集中到routes.php文件中,導致代碼的臃腫與難以維護。所有的控制器類都被存儲在app/Http/Controllers目錄中.基本控制器一個基本的控制器應該…

org.apache.jasper.JasperException: Unable to compile class for JSP:

報錯信息: org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class filesSt…

i++和++i

關于自增自減運算,很多書籍沒有把問題講清楚,在C語言里是這樣的: 1.后置運算:k表示先運算,后自加。 意思是遇到k了,我先把當前的k的值拿來參加運算,后面再去管它的自加。 那么,“后面”后到什么…

什么樣的項目經歷會讓面試官眼前一亮

很多同學都問過我類似的問題: 咱們《C語言也能干大事》中講的自己動手寫windows優化大師、自己動手寫計算器等東西只是寫著玩的小玩具而已,這些能用來以后找工作時寫到簡歷中的作品嗎?看別人的簡歷寫的“圖書管理系統”、“教務選課系統”多有…

matlab采樣頻譜,Matlab對采樣數據進行頻譜分析

使用Matlab對采樣數據進行頻譜分析1、采樣數據導入Matlab采樣數據的導入至少有三種方法。第一就是手動將數據整理成Matlab支持的格式,這種方法僅適用于數據量比較小的采樣。第二種方法是使用Matlab的可視化交互操作,具體操作步驟為:File --&g…

鏈表和順序表的一些區別

順序表與鏈表是非常基本的數據結構,它們可以被統稱為線性表。 線性表(Linear List)是由 n(n≥0)個數據元素(結點)a[0],a[1],a[2]…,a[n-1] 組成的有限序列。…

ANCS推送簡介

總體原理 ANCS通過藍牙BLE 4.0實現,僅支持iPhone 4S及以上且系統版本在IOS 7以上的手機,同時在外設端需要支持藍牙4.0協議。 1、外設端進行廣播,手機打開藍牙,搜索外設,連接外設,之后進行綁定(這…

好記性不如爛筆頭,記錄幾個常用的Linux操作

作者:老王Shell公共函數庫Linux系統里有一些公共的Shell函數庫可供使用,最重要的是/etc/rc.d/init.d/functions,在/etc/init.d目錄下有很多腳本都用到了這個函數庫,里面提供了很多有用的方法,比如:killproc…

用matlab簡單電路模型,基于MATLAB的電路模型仿真應用

基于MATLAB的電路模型仿真應用實驗指導書一、實驗目的1、掌握采用M文件及SIMULINK對電路進行仿真的方法。2、熟悉POWERSYSTEM BLOCKSET 模塊集的調用、設置方法。3.進一步熟悉M腳本文件編寫的方法和技巧。二、實驗原理1、通過M文件實現電路仿真的一般仿真步驟為&…

春節期間小游戲同時在線人數最高達2800萬人/小時

微信官方發布2018年春節期間微信數據報告:除夕至初五,總共有2,297億條微信消息,28億條微信朋友圈成功發出,音視頻通話總時長175億乙分鐘。其中,90后用廣的消息發送量占總量的42.5%,80后用戶25.9%&#xff0…

C語言中* 和

&x是對x變量取地址,也就是返回的是x的地址。 int *i;這里面的*說明變量i是一個指針,存的是一個地址。 而 *i整體代表的是一個數值,例如可以int *i 5 這里整體的*i代表的是5,而i代表的是這個值存儲的地址