注册 登录
编程论坛 VB6论坛

如何判断一个给定的日期是否为周六或者周日?

alike123 发布于 2014-08-18 09:30, 4306 次点击
如何判断一个给定的日期是否为周六或者周日?
比如:text1="2013-02-11",判断是否为周六或者周日?

大神么有什么好的思路,启发启发在下

我的思路:
将日期转化为数值  mod  7 ,然后对结果判断;
问题点:vb中没找到日期转数值的函数,val()试了不行
6 回复
#2
wp2319572014-08-18 09:38
这个网上有公式的  和mod 7 没啥关系
#3
wp2319572014-08-18 10:33
这是我写的c版的泰勒公式

程序代码:

//利用泰勒公式计算星期几
//w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
int getweek(int year,int month,int day)
{
    int w;    //星期
    int c;    //世纪-1 YYYY的头两位
    int y;    //年份   YYYY的后两位
    int m;    //月份 >=3 1月 2月看成上年的13月 14月
    int d=day;    //日
    if(month>=3)
    {
        c=year / 100;
        y=year % 100;
        m=month;
    }
    else
    {
        m=month+12;
        y=(year-1) % 100;
        c=(year-1) / 100;
    }
    w=y+y/4+c/4-2*c+(26*(m+1))/10+d-1;
    w=(w+700) %7;
    return w;
}


[ 本帖最后由 wp231957 于 2014-8-18 10:41 编辑 ]
#4
alike1232014-08-18 10:37
嗯,我去网上找了一下,才发觉有weekday这个函数
#5
apull2014-08-18 10:54
用输入的日期产生一个Date类型变量,用这个变量返回星期数。
#6
w3609894262014-08-20 22:54
以下是引用alike123在2014-8-18 09:30:11的发言:

如何判断一个给定的日期是否为周六或者周日?
比如:text1="2013-02-11",判断是否为周六或者周日?

大神么有什么好的思路,启发启发在下

我的思路:
将日期转化为数值  mod  7 ,然后对结果判断;
问题点:vb中没找到日期转数值的函数,val()试了不行

这么简单
   Dim 周日 As Date
    Dim 周六 As Date
    周日 = "2014-1-5"
    周六 = "2014-1-4"
    If (服务器时间 - 周日) Mod 7 = 0 Or (服务器时间 - 周六) Mod 7 = 0 Then
        MsgBox "由于周日,周六,没有固定人员上班,为防止数据差异过大,禁止添加新货品!", vbOKOnly + vbInformation, "提示信息"
        Exit Sub
    End If
哪里需要那么复杂
#7
w3609894262014-08-20 22:56
时间与时间的差值是数字,记住拉!
1