扩展js4实现了一周(周)的日期选择控件(真正的战斗二)

扩展js4实现了一周(周)的日期选择控件(真正的战斗二)
前言

日期和时间在Javascript
扩展js 4实现了一周(星期)(真实战斗)的日期选择控件。

为了详细了解这篇文章的一些预备知识,我们可以参考上面两个。
Javascript提供了处理时间的日期对象,但是日期不能提供一个星期的方法
在Web方面以JS方式获得一定的时间是今年的最后几周,它可以根据一些算法实现。当然,jQuery的扩展组件等,直接提供一些现成的包。
像Ext JS一样,有一种方法可以获得方法ext.date.getweekofyear提供一周(日)。

问题

有没有可能用js来完美地解决一周的问题
在本系列的第一部分,据说Ext的DatePicker不见周需要扩展本身。
但它扩展时有一个问题。
Javascript语言中的日期对象每星期日开始。
Ext JS的getweekofyear,如下ISO-8601,星期一开始。(其他方法不遵循这个标准,和Ext JS是混合不同的日期和时间表示的标准)。
ext.date.getweekofyear方法的返回值是一个数字1-53。
这样,就会有一些问题:
从星期日起,显示显示的日期:(星期日,星期一,星期二,星期六)
但是在选定的时间里,这一周的时间又开始了,导致了星期日:

1、每个星期日的星期都是1个小时(例如,2013 08 / 18,星期日应该是34周,但是这样,它可以被视为上周末,33周)。
复制代码代码如下所示:
日期=新日期(2013 08 18);
VAR周= ext.date.getweekofyear(日期);
警报();

2。默认情况下,Ext Js日期控件将显示为42天,以这种方式,将在两年的交互中出现问题。

一年中的53个星期是什么时候这是下一年的第一个星期。

解决方案

结合JS日期对象和Ext JS获得本周弦Ext. Date。
1。星期日是一天中的第一天。
2。周的年数从(1-52),如果超过52周,到下一年的第一周。例如,2013 / 12 / 29是53周的2013,到2014的第一周。
三.返回的周如w1334格式
复制代码代码如下所示:
*
*返回w1334()2013 / 08 / 20
* 1。如果星期日=星期=星期+ 1
* getweekofyear(EXT使用ISO-8601,周星期一开始)
* JS Date(星期日开始)
* 2。如果星期> > 52 = >年= 1,星期= 52;
* 3。如果月= 11(12个月)和周年= 1年+;
* /
功能getweekstrofdate(日期)
{
无功weekstr = null;
如果(日期)!= null)
{
weekstr =W;
无功dateyear = date.getfullyear();
无功dateweek = ext.date.getweekofyear(日期);
无功firstdayofmonth = ext.date.getfirstdayofmonth(日期);
VaR天= date.getdate();
VaR月= date.getmonth();
/ /周日0-6
var周日= date.getday();
如果(工作日= 0)
{
dateweek + +;
}

年份+ 1周/周> 52 =
如果(月= 11)
{
如果(dateweek > 52)
{
dateyear = 1;
dateweek = 52;
} else if(dateweek<2){
dateyear = 1;
}
}
无功yearstr = dateyear.tostring();
yearstr = yearstr.substring(2,4);
无功dateweekstr = dateweek.tostring();
如果(dateweekstr。长度<2)
{
dateweekstr =0+ dateweekstr;
}
weekstr = yearstr;
weekstr = dateweekstr;
}
返回weekstr;
}
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部