首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

[Ext JS 四] 实战之 带week(星期)的日期选择控件(三)

2013-09-05 
[Ext JS 4] 实战之 带week(星期)的日期选择控件(三)前言在 [Ext JS 4] 实战之 带week(星期)的日期选择控件

[Ext JS 4] 实战之 带week(星期)的日期选择控件(三)

前言

在 [Ext JS 4] 实战之 带week(星期)的日期选择控件(二)

的最后,有提到一个解决方案。

不过这方案有一个条件  ==》 “2. 每年的周数从(1-52), 如果超过52 周,算到下一年的第一周”

这个条件有一个漏洞就是: 像 2011 年, 全年53 周, 第 53周整周都是2011年的天数,所以算成2012年的第一周就不对了。

综合: 还是两套标准之间的换算还是会有一些问题。

既然这样就不去混合使用两套标准的方法。 对于每个星期一周日开始的标准来说, 可以有更简单的方法。


解决方案

算法思想:

1. 每年的第一天(01/01) 是这一年的第一周。

2. 年中的某一天减去第一天的天数 再加上 第一天是这一年的第几天 后  除以7; 往上取整得到的整数就应该是这天的周数。

function getWeekStrOfDate(date){var weekStr = null;if(date!=null){weekStr = "W";var dateYear = date.getFullYear();var yearStr = dateYear.toString();yearStr = yearStr.substring(2,4);var dateWeek = getWeekNumber(date);var dateWeekStr = dateWeek.toString();if(dateWeekStr.length<2){dateWeekStr = "0" + dateWeekStr;}weekStr += yearStr;weekStr += dateWeekStr; }return weekStr;}

以上经过严格验证,没有问题。





热点排行