zoukankan      html  css  js  c++  java
  • 根据当前的日期获取到周起始,月起始,年起始

    一、根据当前的日期获取到周起始和截止

     1 /// <summary>
     2 /// 得到本周第一天(以星期天为第一天)
     3 /// </summary>
     4 /// <param name="datetime"></param>
     5 /// <returns></returns>
     6 public DateTime GetWeekFirstDaySun(DateTime datetime)
     7 {
     8     //星期天为第一天
     9     int weeknow = Convert.ToInt32(datetime.DayOfWeek);
    10     int daydiff = (-1) * weeknow;
    11 
    12     //本周第一天
    13     string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
    14     return Convert.ToDateTime(FirstDay);
    15 }
    得到本周第一天(以星期天为第一天)
     1 /// <summary>
     2 /// 得到本周第一天(以星期一为第一天)
     3 /// </summary>
     4 /// <param name="datetime"></param>
     5 /// <returns></returns>
     6 public DateTime GetWeekFirstDayMon(DateTime datetime)
     7 {
     8     //星期一为第一天
     9     int weeknow = Convert.ToInt32(datetime.DayOfWeek);
    10 
    11     //因为是以星期一为第一天,所以要判断weeknow等于0时,要向前推6天。
    12     weeknow = (weeknow == 0 ? (7 - 1) : (weeknow - 1));
    13     int daydiff = (-1) * weeknow;
    14 
    15     //本周第一天
    16     string FirstDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
    17     return Convert.ToDateTime(FirstDay);
    18 }
    得到本周第一天(以星期一为第一天)
     1 /// <summary>
     2 /// 得到本周最后一天(以星期六为最后一天)
     3 /// </summary>
     4 /// <param name="datetime"></param>
     5 /// <returns></returns>
     6 public DateTime GetWeekLastDaySat(DateTime datetime)
     7 {
     8     //星期六为最后一天
     9     int weeknow = Convert.ToInt32(datetime.DayOfWeek);
    10     int daydiff = (7 - weeknow) - 1;
    11 
    12     //本周最后一天
    13     string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
    14     return Convert.ToDateTime(LastDay);
    15 }
    得到本周最后一天(以星期六为最后一天)
     1 /// <summary>
     2 /// 得到本周最后一天(以星期天为最后一天)
     3 /// </summary>
     4 /// <param name="datetime"></param>
     5 /// <returns></returns>
     6 public DateTime GetWeekLastDaySun(DateTime datetime)
     7 {
     8     //星期天为最后一天
     9     int weeknow = Convert.ToInt32(datetime.DayOfWeek);
    10     weeknow = (weeknow == 0 ? 7 : weeknow);
    11     int daydiff = (7 - weeknow);
    12 
    13     //本周最后一天
    14     string LastDay = datetime.AddDays(daydiff).ToString("yyyy-MM-dd");
    15     return Convert.ToDateTime(LastDay);
    16 }
    得到本周最后一天(以星期天为最后一天)

    二、根据当前的日期获取到月起始和截止

    int year = DateTime.Now.Year;
    int month = DateTime.Now.Month;
    
    DateTime firstDayOfThisMonth = new DateTime(year, month, 1);
    DateTime lastDayOfThisMonth = new DateTime(year, month, DateTime.DaysInMonth(year, month));

         SQL语句实现

     1 DECLARE @NOW DATETIME
     2 DECLARE @FistDayOfThisMonth DATETIME  
     3 DECLARE @LastDayOfThisMonth DATETIME  
     4 
     5 SET @NOW = GETDATE()
     6 SET @FistDayOfThisMonth = @NOW - DAY(@NOW) + 1  
     7 SET @LastDayOfThisMonth = DATEADD(MONTH, 1, @NOW - DAY(@NOW) + 1) - 1
     8 
     9 SELECT @FistDayOfThisMonth
    10 SELECT @LastDayOfThisMonth
    SQL

    三、根据当前的日期获取到年起始和截止

    1 int year = DateTime.Now.Year;
    2 int month = DateTime.Now.Month;
    3 
    4 DateTime firstDayOfThisMonth = new DateTime(year, 1, 1);
    5 DateTime lastDayOfThisMonth = new DateTime(year, 12, DateTime.DaysInMonth(year, 12));
  • 相关阅读:
    POJ 2195 Going Home(费用流)
    HDU 2485 Destroying the bus stations(费用流)
    POJ 3281 Dining(最大流)
    POJ 1122 FDNY to the Rescue!(最短路+路径输出)
    HDU 4747 Mex(线段树)
    POJ 2337 Catenyms
    UVa 10328 Coin Toss(Java大数+递推)
    HDU 1811 Rank of Tetris(拓扑排序+并查集)
    ZOJ 3747 Attack on Titans
    UVa 11404 回文子序列(LCS求最长回文串长度)
  • 原文地址:https://www.cnblogs.com/Johnfx-home/p/3319286.html
Copyright © 2011-2022 走看看