zoukankan      html  css  js  c++  java
  • DateTime时间类型的一些常用方法

    一、DateTime 的构造函数(12个构造重载)

     DateTime time = new DateTime();

    * 1.DateTime(Int64)
    :将 DateTime 结构的新实例初始化为指定的刻度数。

    * 2.DateTime(Int64, DateTimeKind)
    :将 DateTime 结构的新实例初始化为指定的计时周期数以及协调世界时 (UTC) 或本地时间。

    * 3.DateTime(Int32, Int32, Int32)
    :将 DateTime 结构的新实例初始化为指定的年、月和日。

    * 4.DateTime(Int32, Int32, Int32, Calendar)
    :将 DateTime 结构的新实例初始化为指定日历的指定年、月和日。

    * 5.DateTime(Int32, Int32, Int32, Int32, Int32, Int32)
    :将 DateTime 结构的新实例初始化为指定的年、月、日、小时、分钟和秒。

    * 6.DateTime(Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)
    :将 DateTime 结构的新实例初始化为指定年、月、日、小时、分钟、秒和协调世界时 (UTC) 或本地时间。

    * 7.DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Calendar)
    :将 DateTime 结构的新实例初始化为指定日历的年、月、日、小时、分钟和秒。

    * 8.DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)
    :将 DateTime 结构的新实例初始化为指定的年、月、日、小时、分钟、秒和毫秒。

    * 9.DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, DateTimeKind)
    :将 DateTime 结构的新实例初始化为指定年、月、日、小时、分钟、秒、毫秒和协调世界时 (UTC) 或本地时间。

    * 10.DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar)
    :将 DateTime 结构的新实例初始化为指定日历的指定年、月、日、小时、分钟、秒和毫秒。

    * 11.DateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Calendar, DateTimeKind)
    :将 DateTime 结构的新实例初始化为指定日历的指定年、月、日、小时、分钟、秒、毫秒和协调世界时 (UTC) 或本地时间。

    应用:

    比如我要得到本月一号的时间可以这样写:

    DateTime time = new DateTime(DateTime.Now.Year,DateTime.Now.Month,01);  //2020/11/1 0:00:00

    上个月的一号:

    DateTime time = new DateTime(DateTime.Now.Year,DateTime.Now.Month,01).AddMonths(-1); //2020/10/1 0:00:00

    二、 YYYY-mm-dd HH:MM:SS解释

     输出:2020:11:06 11:20:51

     DateTime t = DateTime.Now;
     Console.WriteLine(t.ToString("yyyy:MM:dd HH:mm:ss"));

               不包含纪元的年份。不具有前导零。 
    yy           不包含纪元的年份。具有前导零。 
    yyyy        包括纪元的四位数的年份。 

               月份数字。一位数的月份没有前导零。 
    MM          月份数字。一位数的月份有一个前导零。 
    MMM       月份的缩写名称,在 AbbreviatedMonthNames 中定义。 
    MMMM    月份的完整名称,在 MonthNames 中定义。 

    d              月中的某一天。一位数的日期没有前导零。 
    dd            月中的某一天。一位数的日期有一个前导零。 
    ddd          周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 
    dddd        周中某天的完整名称,在 DayNames 中定义。 

             12 小时制的小时。一位数的小时数没有前导零。 
    hh         12 小时制的小时。一位数的小时数有前导零。 
            24 小时制的小时。一位数的小时数没有前导零。 
    HH        24 小时制的小时。一位数的小时数有前导零。 

            分钟。一位数的分钟数没有前导零。 
    mm       分钟。一位数的分钟数有一个前导零。 

              秒。一位数的秒数没有前导零。 
    ss          秒。一位数的秒数有一个前导零。 
              秒的小数精度为一位。其余数字被截断。 如果时间为2013-05-20 14:02:30 yyyy-MM-dd HH:mm:ss ;如果格式为yyyy-MM-dd hh:mm:ss 则显示为2013-05-20 02:02:30

    gg 时期或纪元。 

    三、 比较时间

    1、例如有个需求是开始时间与结束时间不能超过1天,你会这么判断?

         解决方法:

         可以使用c#提供的方法TotalHours来解决

        

                DateTime time1 = DateTime.Now;
                DateTime time2 = DateTime.Now.AddDays(1);
    
                if ((time2 - time1).TotalHours<=24)
                {
    
                }

     两个时间的差值还有很多方法:可以根据需求具体使用

    四、 时间转换成星期

    1、给你一个时间,判断是星期几?

     可以使用 DateTime.Now.DayOfWeek ,DayOfWeek输出的是英文的星期几,如果要显示中文,我们可以写一个枚举

      public enum Week
            {
                星期天 = 0,
                星期一,
                星期二,
                星期三,
                星期四,
                星期五,
                星期六
            }

    然后把DayOfWeek强转成Week枚举类型

                var t = DateTime.Now.DayOfWeek; 
                
                Console.WriteLine((Week)t);

    结果输出具体的中文星期几

     

  • 相关阅读:
    linux下分析Java程序内存汇总
    Linux使用jstat命令查看jvm的GC情况
    linux的top命令参数详解
    项目中常用的19条MySQL优化
    MySQL:(一)
    MySQL:(二)
    微信公众号开发 (3) 菜单处理
    MyBatis项目实战 快速将MySQL转换成Oracle语句
    Spring Boot (5) 整合 RabbitMQ
    系统 (一) Windows10安装Ubuntu子系统
  • 原文地址:https://www.cnblogs.com/qingheshiguang/p/13936077.html
Copyright © 2011-2022 走看看