zoukankan      html  css  js  c++  java
  • [原]获取指定日期WeekOfMonth

    c#

            /// <summary>
            
    /// 获取指定日期为指定年月份的第几周
            
    /// </summary>
            public int GetWeekOfMonth(DateTime date)
            {
                DateTime firstDayInMonth 
    = DateTime.Parse(string.Format("{0}-{1}-01", date.Year, date.Month));

                
    //不计入本月周的总天数,如1号为星期五,则1、2、3都不计入将要计算的周内
                int exceptDays = 0;

                
    if (firstDayInMonth.DayOfWeek != DayOfWeek.Monday)
                {
                    
    //+ 2的含义为计算时需要减去1号和date当天的日期
                    
    //如果不减去date当天,则当date为星期天时,则刚好在除7后为正确值,再加1就会多一周
                    exceptDays = 7 - (int)firstDayInMonth.DayOfWeek + 2;
                }

                
    //指定的日期减去不计算在周内的日期数
                return (date.Day - exceptDays) / 7 + date.Day < exceptDays ? 0 : 1;
            }

    SQL:

    DECLARE @Date DateTime 
    SET @Date = '2009-06-29'

    SELECT CASE WHEN (DATEPART(WEEKDAY,CONVERT(DATETIME,CONVERT(VARCHAR(6),@Date,112+ '01')) - 1= 1 THEN 
    (
    DATEPART(DAY@Date- (7 - (DATEPART(WEEKDAY,CONVERT(DATETIME,CONVERT(VARCHAR(6),@Date,112+ '01')) - 1+ 2)) / 7 + 
    CASE WHEN DATEPART(DAY,@Date)  < (7 - (DATEPART(WEEKDAY,CONVERT(DATETIME,CONVERT(VARCHAR(6),@Date,112+ '01')) - 1+ 2THEN 0 ELSE 1 END
    ELSE DATEPART(DAY@Date/ 7 + 1 END AS 'WeekOfMonth'
  • 相关阅读:
    curl post请求
    c++/c字符串操作汇集
    CCClippingNode bug
    处理Google Play的相关方法
    libcurl断点下载
    c pvr转存pvr.ccz格式
    ios 设备震动
    cocos2d-x android项目引用so库编译
    cocos2d-x CCEditBox 字符不能显示完全的bug
    Android增量更新
  • 原文地址:https://www.cnblogs.com/think8848/p/1495528.html
Copyright © 2011-2022 走看看