如何周提取开始日期
两个下拉列表和一个文本框,
我的需求是这样的,在第一个下拉列表里放的是年份,如2010年。第二个下拉列表里放的是这个年所有周,比如今天是2010-3-8,是第10周,如何能在文本框里算出这周的开始日期和结束日期?
需要注意的是,不是专指当前日期的开始和结束日期,因为下拉列表里的信息是可选的,也就是根据某年某周,提取开始日期和结束日期,请大家帮忙了。
在线等,问题解决立马给分。
[解决办法]
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
xmlns:ns1="*">
<mx:Script>
<![CDATA[
protected function button1_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
var startDate:Date=new Date(2010, 0, 0, 0, 0, 0, 0);
var endDate:Date=new Date(2010, 0, 0, 0, 0, 0, 0);
var num:Number=new Number(txt3.text);
startDate.setTime(startDate.getTime() + (num - 1) * 7 * 24 * 3600 * 1000 + 24 * 3600 * 1000);
endDate.setTime(endDate.getTime() + num * 7 * 24 * 3600 * 1000);
txt1.text=startDate.getFullYear() + "/" + (startDate.getMonth() + 1) + "/" + startDate.getDate();
txt2.text=endDate.getFullYear() + "/" + (endDate.getMonth() + 1) + "/" + endDate.getDate();
}
]]>
</mx:Script>
<mx:Button x="217"
y="278"
label="Button"
click="button1_clickHandler(event)"/>
<mx:TextInput x="61"
id="txt1"
y="212"/>
<mx:TextInput x="305"
id="txt2"
y="212"/>
<mx:Label x="49"
y="171"
text="输入周"
width="56"/>
<mx:TextInput x="145"
id="txt3"
y="169"/>
<mx:Label x="229"
y="214"
text="end"
width="53"/>
<mx:Label x="18"
y="214"
text="start"/>
</mx:Application>
看看是不是这样
[解决办法]
declare @num int,@year varchar(4),@date datetime
select @num=11
select @year='2010-01-01'
select @date=dateadd(wk,@num-1,@year)
select dateadd(dd,1-datepart(dw,@date),@date),dateadd(dd,7-datepart(dw,@date),@date)
我觉得你结合数据库实现方便一点。(上边是我在数据库里写的语句 获取返回值就ok了。 数据库为sql 2005)
[解决办法]
希望对你有帮助!
计算指定日期是当年第几周
private function weekOfYear(yyyy:Number,mm:Number,dd:Number):Number{
var myDate =new Date(yyyy, mm - 1, dd);
var startDate = new Date(yyyy,0,1);
var diff = myDate.valueOf() - startDate.valueOf();
var d = Math.round(diff/86400000);
return Math.ceil((d + ((startDate.getDay() + 1) - 1)) / 7);
}