• C#编程,DateTime使用方法,时间转字符方法总结


    DataTime用法

    DateTime.Date;         //返回实例的日期
    DateTime.Day;          //返回该月中的第几天
    DateTime.Now;          //返回当前时间,精确到秒
    DateTime.Today;        //返回当前时间,精确到天
    DateTime.Now.ToBinary();     //返回当前时间,并转换为64位二进制;
    DateTime.Now.ToString();     //返回当前时间,并转换为字符串;
    DateTime.Now.ToShortDateString();    //将当前 DateTime 对象的值转换为其等效的短日期字符串表示形式;
    DateTime.Now.ToShortTimeString();    //将当前 DateTime 对象的值转换为其等效的短时间字符串表示形式;
    DateTime.Now.ToString(String);       //以指定的日期格式返回当前时间;
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    获取当前系统时间

    DateTime dt = DateTime.Now;     //包括日期和时间
    dt.AddDays(1);                  //增加一天 dt本身并不改变
    dt.AddDays(-1);                 //减少一天 dt本身并不改变
    
    
    • 1
    • 2
    • 3
    • 4

    DataTime格式转换为string

    例如:2016-05-09 13:09:55:2350
    转换后的结果如注释所示

    (https://img-blog.csdnimg.cn/19972bdbcf5c463b8e1b3c07b09d3586.png)

    也可以通过英文字符(y、M、d、h、m、s、f) 分别代替(年、月、日、时、分、秒、毫秒)来自由组合日期时间格式
    对照表如下
    在这里插入图片描述

    string转换为DataTime格式

    方法一:Convert.ToDateTime(string)

    Convert.ToDateTime("2016-05-09 13:09:55"); //string格式有要求,必须是yyyy-MM-dd hh:mm:ss
    
    
    • 1
    • 2

    方法二:Convert.ToDateTime(string, IFormatProvider)

    DateTime dt;
    DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();
    dtFormat.ShortDatePattern = "yyyy/MM/dd";
    dt = Convert.ToDateTime("2011/05/26", dtFormat);
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    方法三:DateTime.ParseExact()

    string dateString = "20110526";
    DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
    DateTime dt1 = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);
    
    
    • 1
    • 2
    • 3
    • 4

    今天

    DateTime.Now.Date.ToShortDateString();
    
    • 1

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

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

    明天,同理,加一

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

    本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止

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

    星期几,

    string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
    Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
    
    • 1
    • 2

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

    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();
    
    • 1
    • 2

    下周

    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();
    
    • 1
    • 2

    本月,

    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();//最后一天
    
    • 1
    • 2

    巧用C#里ToString的字符格式化

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

    上个月,减去一个月份

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

    下个月,加去一个月份

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

    7天后

    DateTime.Now.Date.ToShortDateString();
    DateTime.Now.AddDays(7).ToShortDateString();
    
    • 1
    • 2

    7天前

    DateTime.Now.AddDays(-7).ToShortDateString();
    DateTime.Now.Date.ToShortDateString();
    
    • 1
    • 2

    本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天

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

    上年度,

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

    下年度

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

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

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

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

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

    下季度,

    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();
    
    • 1
    • 2

    上季度

    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();
    
    • 1
    • 2
  • 相关阅读:
    三农数据(1990-2020)七:农村居民家庭生产现金支出、农村固定资产构成、固定资产投向
    第二章 构建工作空间和功能包
    EPLAN_001#常用功能(一)
    【AGC】使用远程配置不同推荐优惠活动
    CSOL控制台与FPS优化命令大全
    codeforces:F. All Possible Digits【贪心 + 模拟进位】
    redis学习八spring.data.redis、连接、序列化、high/low api
    C++STL-string类的实现(下)
    《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(2)-Wireshark在Windows系统上安装部署
    数据结构与算法课后题-第二章(顺序表)
  • 原文地址:https://blog.csdn.net/qq_43307934/article/details/125507921