zoukankan      html  css  js  c++  java
  • C# DateTime类

    //今天

    DateTime.Now.Date.ToShortDateString();

    //昨天,就是今天的日期减一

    DateTime.Now.AddDays(-1).ToShortDateString();

    //明天,今天的日期加一

    DateTime.Now.AddDays(1).ToShortDateString();
    //本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止
    DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
    DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();


    //由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的              
    string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}

    Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];


    //上周,一个周是7天,上周就是本周再减去7天,下周也是一样 

    1 DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString(); 
    2 DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();

    //下周

    DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
    DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();

    //本月

    DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天
    DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();// 最后一天


    //巧用C#里ToString的字符格式化更简便 

    DateTime.Now.ToString("yyyy-MM-01");

    DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")) .AddMonths(1).AddDays(-1).ToShortDateString()


    //上个月,减去一个月份

    DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
    DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

    //下个月,加去一个月份

    DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
    DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")) .AddMonths(2).AddDays(-1).ToShortDateString();

    //7天后

    DateTime.Now.Date.ToShortDateString();
    DateTime.Now.AddDays(7).ToShortDateString();

    //7天前 DateTime.Now.AddDays(-7).ToShortDateString();
    DateTime.Now.Date.ToShortDateString();


    //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
    DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
    DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();


    //上年度

    DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
    DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();

    //下年度

    DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
    DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")) .AddYears(2).AddDays(-1).ToShortDateString();


    //本季度,一年四个季度,一个季度三个月
    //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了

    DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");

    //同理,本季度的最后一天就是下季度的第一天减一

    DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)) .ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

    //下季度

    DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
    DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)) .ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

    //上季度

    DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
    DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)) .ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

    //如何获得当月有多少天

    int m=System.DateTime.DaysInMonth(System.DateTime.Now.Year,System.DateTime.Now.Month);

    //获取某月的实际工作日(即不包括周六日)

     int days =getDays(System.DateTime.Now)); 
    
    private int getDays(System.DateTime date1) 
    
    { 
    
    int m=System.DateTime.DaysInMonth(date1.Year,date1.Month); 
    
    int mm=0; for(int i=1;i<=m;i++)
    
     { 
    
    System.DateTime date=Convert.ToDateTime(date1.Year+"-"+date1.Month+"-"+i); 
    
    switch (date.DayOfWeek) 
    
    { 
    
    case System.DayOfWeek.Monday:
    
     case System.DayOfWeek.Thursday:
    
     case System.DayOfWeek.Tuesday: 
    
    case System.DayOfWeek.Wednesday: 
    
    case System.DayOfWeek.Friday: 
    
    mm=mm+1; break;
    
    }
    
    } 
    
    return mm; 
    
    }
    
     

    获得任意两日期之间的有效工作日(不包括周六日) 

    DateTime date1=Convert.ToDateTime("2005-10-20"); 
    
    DateTime date2=Convert.ToDateTime("2005-11-01");
    
     int days =getDays(date1,date2); 
    
    private int getDays(System.DateTime date1,System.DateTime date2) 
    
    { 
    
    string m=DateDiff(EnumDateCompare.day,date1,date2).ToString("f0");
    int mm=0; 
    
    for(int i=0;i<=Convert.ToInt32(m);i++) 
    
    { 
    
    System.DateTime date=Convert.ToDateTime(date1.AddDays(i)); 
    
    switch (date.DayOfWeek) { 
    
    case System.DayOfWeek.Monday: 
    
    case System.DayOfWeek.Thursday: 
    
    case System.DayOfWeek.Tuesday: 
    
    case System.DayOfWeek.Wednesday: 
    
    case System.DayOfWeek.Friday:
    
     mm=mm+1; break; }            
    
    } 
    
    return mm;
    
     }  

    获得本周的周六和周日

    #region ConvertDateToWeek
    
    public static void ConvertDateToWeek(DateTime date,out DateTime firstdate,out DateTime lastdate)
    
    {
    
    DateTime first=System.DateTime.Now;
    
    DateTime last=System.DateTime.Now;
    
    switch (date.DayOfWeek)
    
    {
    
    case System.DayOfWeek.Monday:
    
    first=date.AddDays(-1);
    
    last=date.AddDays(5);
    
    break;
    
    case System.DayOfWeek.Tuesday:
    
    first=date.AddDays(-2);
    
    last=date.AddDays(4);
    
    break;
    
    case System.DayOfWeek.Wednesday:
    
    first=date.AddDays(-3);
    
    last=date.AddDays(3);
    
    break;
    
    case System.DayOfWeek.Thursday:
    
    first=date.AddDays(-4);
    
    last=date.AddDays(2);
    
    break;
    
    case System.DayOfWeek.Friday:
    
    first=date.AddDays(-5);
    
    last=date.AddDays(1);
    
    break;
    
    case System.DayOfWeek.Saturday:
    
    first=date.AddDays(-6);
    
    last=date;
    
    break;
    
    case System.DayOfWeek.Sunday:
    
    first=date;
    
    last=date.AddDays(6);
    
    break;
    
    }
    
    firstdate=first;
    
    lastdate=last;
    
    }
    
    #endregion
    
    //调用
    
    DateTime firstdate=System.DateTime.Now;
    
    DateTime lastdate=System.DateTime.Now;
    
    ConvertDateToWeek(date,out firstdate,out lastdate);

    获得当前日期是该年度的第几周

    DateTime dt=Convert.ToDateTime("2006-05-01");

    int weeks=dt.DayOfYear/7+1;

  • 相关阅读:
    Django(app的概念、ORM介绍及编码错误问题)
    Django(完整的登录示例、render字符串替换和redirect跳转)
    Construct Binary Tree from Preorder and Inorder Traversal
    Single Number II
    Single Number
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Binary Tree Zigzag Level Order Traversal
    Recover Binary Search Tree
    Add Binary
  • 原文地址:https://www.cnblogs.com/GeneralKING/p/2610075.html
Copyright © 2011-2022 走看看