文档章节

js获取当前日期,星期列表

 小熊敲代码
发布于 2015/09/29 13:03
字数 400
阅读 10
收藏 0
//easydate.js

$(document).ready(function(){
	var curr_date = new Date();
	var curr_year = curr_date.getFullYear();
	var curr_month = curr_date.getMonth();
	var easydate;
	var easydate_table;

	function easydate_reset_func(year,month){
		curr_date = new Date();
		if(year != undefined){
			curr_date.setFullYear(year);
		}

		if(month != undefined){
			curr_date.setMonth(month);
		}

		easydate = {
			curr_year:curr_date.getFullYear(),
			curr_month:curr_date.getMonth(),
			curr_week:curr_date.getDay(),
			first_week:function(){
				curr_date.setDate(1);
				return curr_date.getDay();
			},
			total_day:function(){
				curr_date.setMonth(easydate.curr_month+1);
				curr_date.setDate(0);
				return curr_date.getDate();
			},
			total_week:function(){
				var total_week_day = easydate.curr_week+easydate.total_day();
				return Math.ceil(total_week_day/7);
			}
		};
	}

	function easydate_table_func(){
		easydate_table = {
			year:undefined,
			month:undefined,
			month_year_title:function(){
				var month_year_title ="<tr id='easydate_month_year' class='month_year'>";
				month_year_title += "<td id='easydate_last_year'><<</td>";
				month_year_title += "<td id='easydate_last_month'><</td>";
				month_year_title += "<td id='current_year'></td>";
				month_year_title += "<td id='current_month'></td>";
				month_year_title += "<td></td>";
				month_year_title += "<td id='easydate_next_month'>></td>";
				month_year_title += "<td id='easydate_next_year'>>></td>";
				month_year_title+="</tr>";
				return month_year_title;
			},
			week_title:function(){
				var week_title ="<tr class='week'>";
				week_title += "<td>周日</td>";
				week_title += "<td>周一</td>";
				week_title += "<td>周二</td>";
				week_title += "<td>周三</td>";
				week_title += "<td>周四</td>";
				week_title += "<td>周五</td>";
				week_title += "<td>周六</td>";
				week_title+="</tr>";
				return week_title;
			},
			footer_title:function(){
				var footer_title ="<tr id='easydate_footer'>";
				footer_title += "<td></td>";
				footer_title += "<td></td>";
				footer_title += "<td></td>";
				footer_title += "<td></td>";
				footer_title += "<td></td>";
				footer_title += "<td>今天</td>";
				footer_title += "<td>确定</td>";
				footer_title+="</tr>";
				return footer_title;
			},
			month_date_table:function(){
				var week = 0;
				var start_week = 0;
				var first_week = easydate.first_week();
				var total_day = easydate.total_day();
				var total_week = easydate.total_week();
				
				var start_month_day = 1;
				var month_date_str = "<table class='easydate'>";
				month_date_str += easydate_table.month_year_title();
				month_date_str += easydate_table.week_title();
				for(week=0;week<total_week;week++){
					month_date_str += "<tr>";
					for(start_week=0;start_week<7;start_week++){
						var week_date = '';
						if(start_month_day>total_day){
							curr_date.setDate(start_month_day);
							week_date = curr_date.getDate();
							easydate_reset_func(easydate_table.year,easydate_table.month);
							start_month_day++;
						}else if(week==0 && start_week>=first_week){
							week_date = start_month_day;
							start_month_day++;
						}else if(week==0){
							var last_date = start_week-first_week+1;
							curr_date.setDate(last_date);
							week_date = curr_date.getDate();
							easydate_reset_func(easydate_table.year,easydate_table.month);
						}else{
							week_date = start_month_day;
							start_month_day++;
						}
						month_date_str += "<td>"+week_date+"</td>";
					}
					month_date_str += "</tr>";
				}
				month_date_str += easydate_table.footer_title();
				month_date_str += "</table>";
				return month_date_str;
			},
			show_month:function(){
				var show_div = "<div id='easydate'>"+easydate_table.month_date_table()+"</div>";
				return show_div;
			},
			next_month:function(){
				$("#easydate").html(easydate_table.month_date_table());
			}
		};
	}



	function init(){
		easydate_reset_func();
		easydate_table_func();
		$("#date").html(easydate_table.show_month());
	}

	init();
	

});
//easydate.css
.easydate{
	border-collapse: separate;
	border-right: 1px solid #dfedfc;
	border-top: 1px solid #dfedfc;
}

.easydate tbody{
      isplay: table-row-group;
      vertical-align: middle;
      border-color: inherit;
  }

.easydate tr{
	display: table-row;
	vertical-align: inherit;
	border-color: inherit;
}

.easydate .week td{
  background: #dfedfc;
  color:#5198e1;
}

.easydate tr td{
	width: 50px;
	padding: 10px 0;
	text-align: center;
}

.easydate tr td{
  border-left: 1px solid #dfedfc;
  border-bottom: 1px solid #dfedfc;
  color:#5198e1;
  text-align: center;
  cursor:pointer;
}
//html
<div id="date"></div>


© 著作权归作者所有

粉丝 0
博文 3
码字总数 480
作品 0
海淀
程序员
私信 提问
一个日历核心算法的实现

上周由于工作需要,要做一个带标注的日历查询的JS程序。到网上也搜了不少日历相关的JS代码,但是发现都比较复杂,完全不适合本次开发的需要,于是乎萌生了自己开发一个日历算法的想法。 虽然...

NILYANG
2009/06/01
712
0
Js如果没有了getDay,怎么获取某天是星期几?

昨天在《枕边算法书》看到一个撩妹技巧:“美丽的女士,请您随便说一个年份,我会猜出当年的情人节是星期几”。那这哥们是如何快速的算出的呢?书中提到了,其原理就是设立一个基点,根据星期...

tryzf
2018/06/03
0
0
用vue2.6实现一个抖音很火的【时间轮盘】屏保小DEMO

写在前面: 前段时间看抖音,有人用时间轮盘作为动态的桌面壁纸,一时间成为全网最火的电脑屏保,后来小米等运用市场也出现了【时间轮盘】,有点像五行八卦,感觉很好玩,于是突发奇想,自己...

codercao
04/23
0
0
JS 在获取当前月的最后一天遇到的坑

想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 为了更好的讲这节的内容,提示一个 JS 处理日期的小技巧,想获取上个月最后一天,只需要设置SetDate参数为0即可。 接着正文...

前端小智
08/22
0
0
根据日期段过滤可选的星期,怎么实现?

js怎样根据选择的一个日期段,过滤出这个日期段内可选的星期。比如日期段:2013/05/11-2013/05/14,可选星期是:星期日,星期一,星期二,星期三。最好有联动的

佐岸
2013/05/11
96
1

没有更多内容

加载失败,请刷新页面

加载更多

四种解决Nginx出现403 forbidden 报错的方法

我是在在本地用虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403, 于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下: 1....

dragon_tech
8分钟前
1
0
获取RestResultResponse返回的值

Springboot项目,需要调其他服务的接口,返回值类型是RestResultResponse 打断点的结果集是这个 打印出来的getData(): [{id=3336b624-8474-4dd9-bd5b-c7358687c877, paraNo=104, para=Postpo...

栾小糖
12分钟前
0
0
【小学】 生成10以内的加减法

#!/usr/bin/env python# coding: utf-8from random import randrange# 题目的最大数值R_MAX = 10# 生成的题目的数量R_PAGE = 70# 生成减法列表def get_sub_list():...

Tensor丨思悟
32分钟前
9
0
JavaScript设计模式——适配器模式

  适配器模式是设计模式行为型模式中的一种模式;   定义:   适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适配器不需要修...

有梦想的咸鱼前端
39分钟前
3
0
Andorid SQLite数据库开发基础教程(1)

Andorid SQLite数据库开发基础教程(1) Android数据库访问方式 SQLite是Android系统默认支持的文件数据库。该数据库支持SQL语言,适合开发人员上手。本教程将讲解如何开发使用SQLite的Andro...

大学霸
42分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部