chenronting 发表于 2011-12-3 21:49:19

宏变量值【错误反馈】

RT:有人求助需要知道今天星期几?那么我就跟他说了 @WDAY ,没有想到,居然返回 7!
百度了一下星期的公式,得到如下:

$Y=Number(StringRight(@YEAR,2))
$D=@YDAY
$W = ($Y-1) + (($Y-1)/4) - (($Y-1)/100) + (($Y-1)/400) + $D
MsgBox(0,0,Round(Mod($W,7)))


如果位置不对,请见谅,休息了!

kevinch 发表于 2011-12-3 22:09:03

在excel中有星期函数,后面是要带参数的,即指定星期日是星期的开始还是结束或者其他,估计这个@wday也是一样的道理,外国人写的,星期日是一周的第一天,所以周六就是7啦。

lsszmj 发表于 2011-12-3 23:13:40

支持2#说法

chenronting 发表于 2011-12-4 23:28:40

回复 2# kevinch


    呃,是这样吗?蛋疼!

gto250 发表于 2011-12-5 18:15:27

@WDAY
指示当天属该周的第几天,值的范围是 1 到 7,依次表示星期天到星期六.

没认真看帮助吧!

用得着计算吗?
If @WDAY=1 Then
        $day="7"
ElseIf @WDAY=7 Then
        $day="6"
Else
        $day=@WDAY-1
EndIf
MsgBox(0,0,$day)

gto250 发表于 2011-12-5 18:19:54

或者是更精简的
Dim $day=["","星期天","星期一","星期二","星期三","星期四","星期五","星期六"]
MsgBox(0,"",$day[@wday])

chenronting 发表于 2011-12-5 20:52:40

回复 6# gto250


    呵呵,我以为是异常情况,没想到是要减一位。

tsui 发表于 2011-12-5 23:40:16

很多人都习惯周日为一周开始

happytc 发表于 2011-12-6 08:21:58

RT:有人求助需要知道今天星期几?那么我就跟他说了 @WDAY ,没有想到,居然返回 7!
百度了一下星期的公式 ...
chenronting 发表于 2011-12-3 21:49 http://www.autoitx.com/images/common/back.gif

看看剑桥字典的解释,两者都可以,也就是既可以把周日当作一周的第一天,也可以把星期一作为一周的第一天。

    week
week: listen to American pronunciation/wik/ n
Definition
› a period of seven days, either from the beginning of Sunday to the end of Saturday or from the beginning of Monday to the end of Sunday:

    next/last week

    We go to the movies about once a week.

(Definition of week n from the Cambridge Academic Content Dictionary © Cambridge University Press)

http://dictionary.cambridge.org/dictionary/american-english/week
页: [1]
查看完整版本: 宏变量值【错误反馈】