1. 兼容IE8-11、360浏览器、chrome、firefox等主流浏览器,手机端也可使用;
2. 添加点击前一周、后一周和高亮等功能。
1、初始化周历原理:
首先获取表示当前星期几的数字currDay=d.getDay(),一般是0(周日)-6(周六);
然后把值取负数传到方法creatWeeklyCalendar进行循环显示一周时间;
Tips:方法calcTime是利用当前毫秒数+-循环数的毫秒数(someTime=d.getTime() + (24 * 60 * 60 * 1000) * num)算出这天的年月日。
for (var i=some, len=some + 7; i < len; i++) {
if (this.calcTime(i).month==currMonth && this.calcTime(i).date==currDate) {
html +='<li class="active"><a href="javascript:;" data-year="' + this.calcTime(i).year + '" title="' + this.calcTime(i).month + '月">' + this.calcTime(i).date + '</a></li>';
} else {
html +='<li><a href="javascript:;" data-year="' + this.calcTime(i).year + '" title="' + this.calcTime(i).month + '月">' + this.calcTime(i).date + '</a></li>';
}
}
最后把html输出到页面。
2、前一周和后一周原理:
首先利用点击前一周和后一周按钮,对计算数clickedTimes进行+-;
然后把clickedTimes新值传到方法changeWeek;
最后执行this.creatWeeklyCalendar(-currDay - (7 * clickedTimes)),重新输出新一周的数据。
3、最后把构造函数暴露window.WeeklyCalendar=WeeklyCalendar。
owerDesigner设计表
1.FILE-NEW-PhysicalDataModel,设置数据库为MySql.
2 PK代表primary key ,fk代表外键,添加连线,指向被引用表。
3.joins指定外键列,双击连线,弹出如下图。
4 Database-Generate Database可以生成sql,将sql在navicat执行即可生成表结构。
5点保存按钮可以生成pdm文件,暂时保存设计的表。
6 通过SQL脚本逆向生成PDM模型,这称为逆向工程
File-reverse engineer-database
7 生成数据库报表文件,即说明性的文档,很方便的给其他人员查看。
report——report wizard
8 ElementUI学习
近在学习过程中需要通过日期来确定当天为星期几,虽然很多编程语言有封装好的方法,但每种语言在命名和使用上也不一定相同,那么是否能够找到一种通用的方法呢,还真找到了。
基姆拉尔森计算公式
W=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日数,m表示月份数,y表示年数。W为计算得出的星期几(0~6 表示星期一 到 星期日)
注意:在公式中有个与其他公式不同的地方:把1月和2月看成是上一年的13月和14月,
例: 如果是2017-01-01则换算成:2016-13-01来代入公式计算。
如果是2017-02-01则换算成:2016-14-01来代入公式计算。
利用编程语言C#布局一个简单界面,如下:
开始编写代码吧,先编程实现基姆拉尔森计算公式:
public static String GetWeekByDate(int year, int month, int day)
{
String dayoftheweek=String.Empty;
if (month==1 || month==2)
{
month +=12; //month=month + 12;
year--; //year=year - 1;
}
int w=(day + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;
switch (w)
{
case 0:
dayoftheweek="星期一";
break;
case 1:
dayoftheweek="星期二";
break;
case 2:
dayoftheweek="星期三";
break;
case 3:
dayoftheweek="星期四";
break;
case 4:
dayoftheweek="星期五";
break;
case 5:
dayoftheweek="星期六";
break;
case 6:
dayoftheweek="星期日";
break;
}
return dayoftheweek;
}
重点代码已完成,接着给Button来个点击事件吧
private void button1_Click(object sender, EventArgs e)
{
//获取选择的日期,以yyyy-MM-dd(例2017-01-01)显示字符串
String date=dateTimePicker1.Value.ToString("yyyy-MM-dd");
//通过符号 - 将获取的日期进行分割并组合成数组
String[] temp=dateTimePicker1.Value.ToString("yyyy-MM-dd").Split('-');
//获取数组中 年 -- temp[0] 月 -- temp[1] 日 -- temp[2]
//并且将值代入静态方法GetWeekByDate中来得到星期几
//Convert.ToInt32() 方法将string转换为int
textBox1.Text=date + " 为 " + GetWeekByDate(Convert.ToInt32(temp[0]), Convert.ToInt32(temp[1]), Convert.ToInt32(temp[2]));
}
到这里,大功告成,直接来看运行的效果
用其他编程语言借助基姆拉尔森计算公式同样可以写出计算星期几的程序,基本就实现通用啦,感兴趣的小伙伴自己动手试试吧。你不去做,永远不知道自己能力有强!加油
*请认真填写需求信息,我们会在24小时内与您取得联系。