<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
    主站蜘蛛池模板: 中文字幕乱码免费视频| 国产VA免费精品高清在线| 免费看又黄又无码的网站| 亚洲AV网一区二区三区| 免费电影在线观看网站| 免费国产成人午夜私人影视 | 亚洲精品线路一在线观看 | 亚洲免费在线视频播放| 国产精品四虎在线观看免费| 国内精品久久久久影院亚洲| 国产妇乱子伦视频免费| 亚洲AV日韩综合一区尤物| 毛片a级毛片免费观看免下载| 99久久国产亚洲综合精品| 成人免费a级毛片无码网站入口| 又黄又爽的视频免费看| 一区二区三区免费视频网站| 亚洲欧洲日产国码无码久久99 | 亚洲AV无码国产一区二区三区| 日韩免费无码视频一区二区三区| 亚洲AV日韩精品久久久久久| 在线观看www日本免费网站| 亚洲午夜成激人情在线影院| 在线观看亚洲免费视频| 一道本不卡免费视频| 亚洲AV无码专区在线播放中文| 99久久久国产精品免费牛牛四川| 亚洲人成网站在线观看播放动漫| 香蕉高清免费永久在线视频| 亚洲视频在线观看网站| 国产成在线观看免费视频| 亚洲a∨国产av综合av下载 | 爱情岛亚洲论坛在线观看 | eeuss在线兵区免费观看| 亚洲VA中文字幕无码毛片 | 99视频在线看观免费| 亚洲色成人四虎在线观看| 最近在线2018视频免费观看| 亚洲色在线无码国产精品不卡| 亚洲国产一区国产亚洲| 亚洲AV无码专区在线厂|