精华内容
下载资源
问答
  • 公元纪年的来历 公元是“公历纪元”的简称,是国际通行的纪年体系。以传说中耶稣基督的生年为公历元年(相当于中国西汉平帝元年)。...因此我们可以依此为基准,用某天的年月日推算出这一天是星期几(WEEKDAY)。
  • WeekDay计算函数

    2008-07-11 17:37:00
    因此我们可以用某天的年月日推算出这一天是星期几(WEEKDAY)。 typedef unsigned long ULONG; typedef unsigned int UINT; /* 参数输出:1~7 对应星期一至星期天 */ typedef unsigned long ...

    公元纪年的来历     公元是“公历纪元”的简称,是国际通行的纪年体系。以传说中耶稣基督的生年为公历元年(相当于中国西汉平帝元年)。

        由于公元纪年的起点是公元1年,而没有“公元0年”,所以大多数对公元纪年有充分了解的科学家和世界上大多数权威天文机构,都明确支持21世纪始于2001年的说法。  

         公元1年1月1日是星期一。因此我们可以用某天的年月日推算出这一天是星期几(WEEKDAY)。

    typedef unsigned long ULONG;

    typedef unsigned int        UINT;

    /*

    参数输出:1~7 对应星期一至星期天

    */


    typedef unsigned long ULONG;

    typedef unsigned int        UINT;

    int GetWeekDay(int nYear, int nMonth, int nDay)
    {  
        ULONG lWeekDay = 0;    //要返回的weekday
        ULONG lYear = nYear;     
        ULONG lMonth = nMonth;  
        ULONG lDay = nDay;
        ULONG lDayCount = 0 ;   //从1月1日到上月底的累计天数

        UINT uArrMonth[]={31,28,31,30,31,30,31,31,30,31,30,31};

        for(unsigned int i=0;i<(lMonth-1);++i)   
              lDayCount += uArrMonth[i];    

        if ( nMonth > 2)
        {
            if ( ( (lYear%4 == 0) && (lYear%100 != 0 ) ) || (lYear%400 == 0) )  //计算闰年
                  ++lDayCount ;   
        }

        lWeekDay = ((lYear-1)*365 + (lYear-1)/4 - (lYear-1)/100 + (lYear-1)/400 + lDayCount + lDay )%7;

        if (lWeekDay==0)       //   
            lWeekDay = 7;           //星期几

        return (int)lWeekDay;
    }

     

         其实不需用long数据类型来计算,完全可以采用int型。但用了long型可以保证到一百万年后,该函数仍然正确。

     

    展开全文
  • 某日发现 DateTools 的 weekday 方法在不同 iOS 上计算出的结果不一样的问题。具体表现为:在 iOS 10 上计算出的结果比 iOS 12 上的结果少一天。比如同样是 2019-09-23,iOS 10 上计算结果为 1,而 iOS 12 上计算...

    某日发现 DateTools 的 weekday 方法在不同 iOS 上计算出的结果不一样的问题。具体表现为:在 iOS 10 上计算出的结果比 iOS 12 上的结果少一天。比如同样是 2019-09-23,iOS 10 上计算结果为 1,而 iOS 12 上计算结果为 2。

    跟踪代码发现,weekday 方法中调用了 [self componentForDate:self type:DTDateComponentWeekday calendar:nil]; 一句。

    这里的 calendar 参数为 nil 表明将使用默认日历,而默认日历的 timezone 默认将使用本地时区。

    但是,在 iOS 11 之前,NSTimeZone 无法正确获取系统设置的时区!因而导致计算出的结果少了一天。

    分别在 iOS 11-12 和 iOS 10-10.3 下调用 NSTimeZone 的 defaultTimeZone、localTimeZone 和 systemTimeZone,以及 [NSCalendar currentCalendar].timeZone,发现后者无法正确获取到系统设置的当前地区。

    以下测试在模拟器上进行,测试前都将地区设置为 China。

    这是 iOS 11.4-12.4 的测试结果:

    iOS 11.4 - 12.4
    
    ------------------------------------
    (lldb) po [NSTimeZone defaultTimeZone]
    Asia/Shanghai (GMT+8) offset 28800
    
    (lldb) po [NSTimeZone localTimeZone]
    Local Time Zone (Asia/Shanghai (GMT+8) offset 28800)
    
    (lldb) po [NSTimeZone systemTimeZone]
    Asia/Shanghai (GMT+8) offset 28800
    
    (lldb) po [NSCalendar currentCalendar].timeZone
    Asia/Shanghai (GMT+8) offset 28800
    

    上面的结果显示,iOS 11.4 - 12.4 上,通过上述 API,能够正确获取到系统设置的时区(中国 +8 区)。

    iOS 10-10.31 的测试结果如下:

    
    iOS 10 - 10.31
    ------------------------------------
    (lldb) po [NSTimeZone defaultTimeZone]
    GMT (GMT) offset 0
    
    (lldb) po [NSTimeZone localTimeZone]
    Local Time Zone (GMT (GMT) offset 0)
    
    (lldb) po [NSTimeZone systemTimeZone]
    GMT (GMT) offset 0
    
    (lldb) po [NSCalendar currentCalendar].timeZone
    GMT (GMT) offset 0
    
    

    上面的结果显示,iOS 10-10.31 上,无法正确获取到的系统当前时区,都会返回 GMT。

    解决办法

    用 weekdayWithCalandar 方法取代 weekday 方法。

    NSCalendar* cal = [NSCalendar currentCalendar];
    cal.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
    NSInteger w = [baseDate weekdayWithCalendar:cal];
     
    
    展开全文
  • 在asp编程开发中,计算时间很容易,直接用项目开始时间+天数,即可得到项目结束时间,但这里麻烦就在要排除周六和周日这两个休息时间
  • WEEKDAY()和DATE()函数计算节假日.xls
  • SUM()和WEEKDAY()函数计算一年中的星期数.xls
  • 使用datepart计算weekday时我们会发现默认sql server返回的数字总是比实际的数值大一,如:2012-12-18是星期二,使用select datepart(WEEKDAY,'2012-12-18');得到值总是3,这是由于sql server默认星期天作为一周的第...
    使用datepart计算weekday时我们会发现默认sql server返回的数字总是比实际的数值大一,如:2012-12-18是星期二,使用
    
    select datepart(WEEKDAY,'2012-12-18');
    得到值总是3,这是由于sql server默认星期天作为一周的第一天引起的。有人简单指出在计算传值时只需要把当前日期减去一天就可以避免这个问题了,虽然这种方法很简单却有潜在的问题,例如:当我们计算某一天属于某一年的第几周时,会使用形如:
    select datepart(week,@Day);
    的方式进行查询,此时依然会存在以周日作为一周开始而引起的问题,如2013-1-6是2013年的第一个周的周日,使用
    select datepart(WEEK,'2013-1-6');
    计算得到的却是2,如果在日期上减去一天又会导致另一个问题,如2013-1-1分明是2013年的第一周,如果减去一天得到就成了53,因为减去一天就回到了2012-12-31,这一天属于2012年的第53周。
    正确的处理方式还是要设置sql server以哪一天作为一周开始,这个设置是通过修改全局变量DATEFIRST来实现的,如果想要以周一作为一周的开始,可以通过:
    set datefirst 1;
    来实现,更详细的解释可以参考:
    http://technet.microsoft.com/zh-cn/interopmigration/aa259210
    展开全文
  • WEEKDAY函数

    2021-01-29 18:26:08
    WEEKDAY函数 文章目录WEEKDAY函数语法备注示例函数结合 本文介绍 WEEKDAY 的公式语法和 用法 函数。 返回对应于某个日期的一周中的第几天。 默认情况下,天数是 1(星期日)到 7(星期六)范围内的整数。 语法 ...

    WEEKDAY函数

    本文介绍 WEEKDAY 的公式语法和 用法 函数。

    返回对应于某个日期的一周中的第几天。 默认情况下,天数是 1(星期日)到 7(星期六)范围内的整数。

    语法

    WEEKDAY(serial_number,[return_type])

    WEEKDAY 函数语法具有下列参数:

    • Serial_number 必需。 一个序列号,代表尝试查找的那一天的日期。 应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入。 例如,使用函数 DATE(2021,2,1) 输入 2021 年 2 月 1 日。 如果日期以文本形式输入,则会出现问题。
    • Return_type 可选。 用于确定返回值类型的数字。
    Return_type返回的数字
    1 或省略数字 1(星期日)到 7(星期六)。 同 Microsoft Excel 早期版本。
    2数字 1(星期一)到 7(星期日)。
    3数字 0(星期一)到 6(星期日)。
    11数字 1(星期一)到 7(星期日)。
    12数字 1(星期二)到数字 7(星期一)。
    13数字 1(星期三)到数字 7(星期二)。
    14数字 1(星期四)到数字 7(星期三)。
    15数字 1(星期五)到数字 7(星期四)。
    16数字 1(星期六)到数字 7(星期五)。
    17数字 1(星期日)到 7(星期六)。

    备注

    • Microsoft Excel 可将日期存储为可用于计算的序列号。 默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。
    • 如果serial_number日期基准值的范围外,则返回#NUM! 错误。
    • 如果return_type超过上表中指定的范围,则#NUM! 错误。

    示例

    复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。

    数据
    2021-2-1
    公式描述(结果)结果
    =WEEKDAY(A2)使用数字 1(星期日)到 7(星期六)表示的一周中的第几天 (5)2
    =WEEKDAY(A2, 2)使用数字 1(星期一)到 7(星期日)表示的一周中的第几天 (4)1
    =WEEKDAY(A2, 3)使用数字 0(星期一)到 6(星期日)表示的一周中的第几天 (3)0

    函数结合

    例子:我们在A1单元格中输入一个日期:2021年2月1日。

    通过之前的WEEKDAY函数的方法就是=WEEKDAY(A1,2)就可以得出结果为1,表示今天是星期一。不过文字方面不能满足我们的需求,我们需要显示出“星期一”。可以写成如下:

    • =TEXT(WEEKDAY(A1),"aaaa")
      • 返回值为 星期一

    如果想将中文直接转换成英文,可以将第二个参数改为"dddd",如下:

    • =TEXT(WEEKDAY(A1),"dddd")
      • 返回值为 Monday

    另一种方式:

    • =CHOOSE(WEEKDAY("2011-1-15",2),"星期一","星期二","星期三","星期四","星期五","星期六","星期日")
      • 返回值为 星期六
    展开全文
  • 1、建立枚举类型Weekday,假设今日为星期二,计算10天后为星期几。 #include typedef enum week{SUN,MON,TUE,WEN,THU,FRI,STA}Weekday; int main(){ Weekday day,tenday; int n; day=SUN; printf("输入数字:\n"); ...
  • Weekday 函数

    2009-12-01 21:10:00
    www.u8686.com-信息发布平台Weekday 函数 适用于: Microsoft Office Access 2007 全部显示全部隐藏返回一个 Variant ...语法Weekday(date [, firstdayofweek ] )Weekday 函数的语法包含以下参数 (参数:为操作、事
  • 第一,excel中weekday 函数用法介绍weekday函数主要功能:给出指定日期的对应的星期数。weekday函数使用格式:WEEKDAY(serial_number?return_type)weekday函数参数说明:serial_number代表指定的日期或引用含有日期...
  • PowerBI-日期和时间函数-WEEKDAY\WEEKNUM

    千次阅读 2020-05-05 19:23:08
    WEEKDAY 释义:返回指示日期属于星期几的...应该使用 DATE 函数、计算结果为日期的表达式或其他公式的结果来输入日期 第二参数:用于确定返回值的数字 返回类型:1,周从星期日 (1) 开始,到星期六 (7) 结束 。...
  • from datetime import datetime dayOfWeek = datetime.now...day_Week = datetime.now().weekday() ###返回从0开始的数字,比如今天是星期5,那么返回的就是4 print(dayOfWeek ) print(day_Week ) 好吧,不得不说:...
  • 通过上一篇文章的介绍,我们了解了excel教程中weekday 函数的用法,也举了一个实例来说明... 我们可以利用excel教程中weekday函数来计算星期数,详见下图。  选中G2单元格,输入公式:=TEXT(WEEKDAY(F2,1),"aaaa
  • // 声明一个枚举类型Weekday,基类为int,访问范围为public public enum Weekday { Sun, Mon, Tue, Wed, Thu, Fri, Sat } 判断方法 // 功能: 得到某日的下一日(星期几) // 参数: // wd : 枚举类型...
  • 本文以某一段时间的股票数据为例,创建星期几weekday和股票涨幅交叉表与透视表来直观看两个特征之间的关系。 代码过程 import pandas as pd pd.set_option('display.max_rows',6)#设置dataframe最多显示6行 #读取...
  • 目标:扩充周的概念为周六到周五、周四到周三。...以周六到周五为例,先拿到start_date所在的年份的第一个周六FirstSaturday作为第一周,将start_date向后拨到第一个周六,然后计算start_date与FirstSaturday
  • 小伙伴们好,咱们知道,Excel中的日期计算函数非常丰富,有用于计算年份的YEAR函数,有计算月份的MONTH函数,有计算星期的WEEKDAY函数等等。小伙伴们好,咱们知道,Excel中的日期计算函数非常丰富,有用于计算年份的...
  • EXCEL里面要计算某个日期是星期几的函数分类:计算机等级|更新时间:2016-07-08|来源:转载WEEKDAY(serial_number,return_type)Serial_number 表示一个顺序的序列号,代表要查找的那一天的日期。应使用 DATE 函数...
  • SELECTfloor(datediff('2016-08-01','2016-07-01') / 7) * 2 + (CASE WHENIF (weekday('2016-08-01') >= 5, 4,weekday('2016-08-01')) >=IF (weekday('2016-07-02') >= 5, 4,weekday('2016-07-01'))THENIF ...
  • 1、首先是【日期函数-weekday函数】,该函数的功能是【返回某日期为周几】,然后语法格式是【weekday(日期,[返回的类型])】。2、这个函数可以设置的考点是【根据出差日期,判断是否属于加班】,函数的正确书写方法...
  • Excel数据分析高级技巧②——数据透视表 一、获取当前时间 ①当前日期和时间 TODAY()—NOW()—NOW()-TODAY() ②当前星期几 TEXT(TODAY(),“aaaa”)— TEXT(TODAY(),“dddd”)— WEEKDAY(TODAY(),2) ③当前周次 ...
  • 目录 前言 datetime.date datetime.time datetime.timedelta 构造函数 日期运算 比较日期 计算秒数 datetime.datetime combine() astimezone(时区) 前言 datetime库也用于时间日期的处理,主要用于完成日期和时间...
  • 日期计算

    2016-09-20 12:41:08
    '周  Dim intWeekDay As Integer  Dim stDay As DateTime '本周第一天   Dim PstDay As DateTime '上周第一天  ... intWeekDay = DatePart(DateInterval.Weekday, Today) '取得今天是星期几 

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 20,359
精华内容 8,143
关键字:

weekday计算