• 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
  • 相关阅读:
    工作中,Oracle常用函数
    【Vue五分钟】五分钟了解vue的常用实例方法
    基于SSH开发学生信息管理系统(简单的增删改查)
    RK3288 android7.1显示屏幕修改
    springboot系列(二十):如何通过redis实现手机号验证码功能 |超级详细,建议收藏
    Qwik开发使用入门
    UG NX二次开发(C#)--详细讲述编程模板NXOpen_CS_Wizard的代码意义,帮你轻松进入NXOpen(C#)二次开发
    Dash 2.9.0版本重磅新功能一览
    Containerd容器运行时的Kubernetes(K8s)环境搭建
    PDF编辑阅读:Acrobat Pro DC 2021中文稳定版
  • 原文地址:https://blog.csdn.net/qq_43307934/article/details/125507921