<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    guanxf

    我的博客:http://blog.sina.com.cn/17learning

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      71 隨筆 :: 1 文章 :: 41 評論 :: 0 Trackbacks
    LotusScript代碼如下:

     firstday=Evaluate(|@Weekday(@Date(| & Year(today) & |;1;1))|)  '得到元旦是星期幾
     test=Evaluate(|@Date(|& Year(Today) &|;1;1)|)   '得到第一天
    days=CInt((today-test(0)))   '用當(dāng)前日期減掉第一天,計(jì)算出今年過了多少天。
    jldays=days+firstday(0)   '第一周不固定,所以將第一周有幾天加到距離今天的日期上 
            weeks=CInt(StrLeft(CStr((days+firstday(0)-1)/7),".") )+1   '取到當(dāng)前日期的周數(shù)+第一周  
           If(weeks>9) Then 
    thisyearweek=CStr(weeks)
    Else 
    thisyearweek="0"+Cstr(weeks)
        End If
    thisyearweekText=Year(today) & "年第" & thisyearweek & "周"
    MsgBox thisyearweekText

    轉(zhuǎn)載如下:

    說明一下,我這里是以星期日作為一周的開始
    思路如下:
    首先要計(jì)算今天離元旦相差多少天,然后除以7就得出今天離元旦多少個(gè)星期了。
    這里要判斷有無余數(shù),如果有余數(shù),則把商加1,就得出今天相距元旦多少個(gè)星期了。
    程序代碼程序代碼

    REM {獲取元旦};
    yuandan := @ToTime(@Text(@Year(@Now))+"-01-01");
    x:= @Integer(((@Today-yuandan)/(3600*24)+1)/7);
    y:=((@Today-yuandan)/(3600*24)+1)/7;
    @If(y-x>0;x+1;x)

    但目前算出的只是今天相距元旦的星期數(shù),并不是真正的周次。
    因?yàn)槊磕暝┎⒉欢际切瞧谌眨?006年的元旦是星期日,則本年的第一周是完整的一周(有7天)。
    如果元旦不是星期日,則本年的第一周就只有(7-星期數(shù))天。
    例如2005年的元旦是星期六,則本年的第一周只有1天,1月2號就是第二周的開始了。 
    所以如果只用上面的四行代碼,是不符合實(shí)際情況的。

    而且上面的代碼還有bug,如果@Today是元旦,那會(huì)輸出0。

    要計(jì)算真正的周次,就要從第二周開始算起。
    第一周的天數(shù)是7減元旦的星期數(shù),
    如果元旦是星期日, @Weekday(yuandan)返回1,星期一返回2。
    所以星期數(shù)要減一。代碼如下:

    程序代碼程序代碼

    yuandan := @ToTime(@Text(@Year(@Now))+"-01-01"); 
    wd := @Weekday(yuandan);
    t := 7-(wd-1); 



    用@Today 減元旦,再減第一周天數(shù)t,再加一,就是@Today到第二周開始的天數(shù)t1。
    這里要做個(gè)判斷,
    If @Today 就是第一周里的,那得出的結(jié)果t1就會(huì)是負(fù)數(shù),我們可以直接輸出@Today 所在周次是第一周。
    Else  用 t1除以7,得出@Today 距離第二周有多少周。 然后加上1,就是加上第一周。就得出實(shí)際的周次了。

    這里還有個(gè)需求就是,一年365天,就等于52周加1天。每年的第53周與下一年的第一周其實(shí)是同一周,
    所以這里的周報(bào)只算52周,如果算到第53周,就改為下一年的第一周。
    具體實(shí)現(xiàn)就是把53改為1,然后把年份那個(gè)域的值加1。

    程序代碼程序代碼
    @If(z=53;z:=1;z);

    完整代碼如下:

    程序代碼程序代碼

    REM {獲取元旦};
    yuandan := @ToTime(@Text(@Year(@Now))+"-01-01");
    REM {判斷元旦是否sunday,@Weekday(sunday)=1};
    wd := @Weekday(yuandan);
    @If(wd=1;
    @Do(
    x:= @Integer(((@Today-yuandan)/(3600*24)+1)/7);
    y:=((@Today-yuandan)/(3600*24)+1)/7;
    @If(y-x>0;x+1;x)
    );
    @Do(
    t := 7-(wd-1);
    t1 := (@Today-yuandan)/(3600*24)-t+1;
    @If(t1>0;
    @Do(
    x:=@Integer(t1/7);
    y:=t1/7;
    @If(y-x>0;z:=x+2;z:=x+1);
    @If(z=53;z:=1;z);
    z
    );
    @Do(
    1
    ))
    )
    )
    1.計(jì)算當(dāng)天所在周從周一到周日的天數(shù)
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    weekend:=@Adjust(weekstart;0;0;6;0;0;0);
    Text(weekstart)+"至"+@Text(weekend)
    2.計(jì)算當(dāng)天所在周每一天的日期
    星期一:
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    @Text(weekstart;"D2")
    星期二:
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    week:=@Adjust(weekstart;0;0;1;0;0;0);
    @Text(week;"D2")
    星期三:
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    week:=@Adjust(weekstart;0;0;2;0;0;0);
    @Text(week;"D2")
    星期四:
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    week:=@Adjust(weekstart;0;0;3;0;0;0);
    @Text(week;"D2")
    星期五:
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    week:=@Adjust(weekstart;0;0;4;0;0;0);
    @Text(week;"D2")
    星期六:
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    week:=@Adjust(weekstart;0;0;5;0;0;0);
    @Text(week;"D2")
    星期天:
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-2);0;0;0);
    week:=@Adjust(weekstart;0;0;6;0;0;0);
    @Text(week;"D2")

    3.計(jì)算任意一周的周一至周日
    很簡單,假設(shè)當(dāng)周為CurrentWeekNo; 任意一周為:WeekNo;要計(jì)算任意一周的周一至周日公式就是:
    tmp:=CurrentWeekNo-WeekNo;
    step:=2-tmp*7;
    rem {任意一周的周一,得到周一,那二/三/四...就很輕松得到};
    weekstart:=@Adjust(@Today;0;0;-(@Weekday(@Today)-step);0;0;0);
    posted on 2012-02-20 22:36 管先飛 閱讀(1603) 評論(0)  編輯  收藏 所屬分類: Lotus Notes
    主站蜘蛛池模板: 免费人成再在线观看网站| 免费人成视频在线观看网站| 久久久青草青青国产亚洲免观 | 91热久久免费精品99| 亚洲人成毛片线播放| 免费国产小视频在线观看| 两个人看的www免费视频中文| 亚洲精品日韩专区silk| 四虎影视在线永久免费观看| A级毛片高清免费视频在线播放| 亚洲午夜电影在线观看高清| 亚洲日本中文字幕天堂网| 91制片厂制作传媒免费版樱花| 国产亚洲精品AAAA片APP| 亚洲av无码无在线观看红杏| 成人毛片免费网站| a色毛片免费视频| 亚洲成aⅴ人片久青草影院按摩| 亚洲成AV人片一区二区密柚| 日本免费一区二区三区最新| 国产午夜精品免费一区二区三区| 亚洲午夜无码久久久久软件 | 亚洲AV永久无码天堂影院| 久久亚洲高清观看| 国产大片91精品免费观看男同| 亚洲欧洲免费视频| 香蕉视频免费在线播放| 亚洲小说区图片区| 久久亚洲高清观看| 亚洲AV无码一区二区三区在线观看| 最近在线2018视频免费观看| 中文在线观看永久免费| jizzjizz亚洲日本少妇| 91亚洲自偷在线观看国产馆| 亚洲精品无码MV在线观看| 国产成人精品高清免费| 成视频年人黄网站免费视频| 三年片在线观看免费观看大全动漫 | 在线a毛片免费视频观看| 2020因为爱你带字幕免费观看全集 | 免费看美女午夜大片|