zoukankan      html  css  js  c++  java
  • C#(99):DateTime函数

    一、初始化:

    DateTime dt = new DateTime(2011, 3, 4);
    DateTime dt3 = new DateTime(2011, 3, 4, 17, 08, 09);
    DateTime dt1 = DateTime.Now;
    DateTime dt2 = DateTime.Today;
    DateTime dt5 = new DateTime(20000, DateTimeKind.Local);

    带农历日期

    DateTime dt4 = new DateTime(1983, 5, 17, new System.Globalization.ChineseLunisolarCalendar()); //农历日期
    Console.WriteLine(dt4); //1983/6/27 0:00:00

    二、格式化函数。

    1、常用

    DateTime dt = DateTime.Now;
    s1=dt.ToString();//2019-06-25 10:38:31
    s2=dt.ToString("d");//2019-06-25
    
    s3=dt.toToLocalTime().ToString();//2019-06-25 10:38:31
    s4=dt.ToUniversalTime().ToString();//2019-06-25 2:38:31

    2、长短日期和时间

    s1 = dt.ToLongDateString(); // 2019年6月25日
    s2 = dt.ToShortDateString();// 2019-06-25
    s3 = dt.ToLongTimeString(); // 10:41:14
    s4 = dt.ToShortTimeString();// 10:41

    三、属性

    1、日期部分

    s1 = dt.Date.ToString();//日期。2019-06-25 0:00:00
    s2 = dt.Year.ToString();//年。2019
    s3 = dt.Month.ToString();//月。6
    s4 = dt.Day.ToString();//日。 25
    s5 = dt.DayOfWeek.ToString();//星期。Tuesday
    s6 = Convert.ToInt32(dt.DayOfWeek).ToString(); //2
    s7 = dt.DayOfYear.ToString();// 该年中的第几天。176
    s8 = (dt.DayOfYear / 7 + 1).ToString();//该年中的第几周。26

    2、时间部分

    s1 = dt.TimeOfDay.ToString();//时间。10:50:23.4881958
    s2 = dt.Hour.ToString();//时,10
    s3 = dt.Minute.ToString();//分、50
    s4 = dt.Second.ToString();//秒 23
    s5 = dt.Millisecond.ToString();//毫秒。 488

    3、计时周期

    Ticks:自0001年1月1日午夜0:0:0(即DateTime.MinValue)以来经过的以100毫微秒(即纳秒)为间隔的间隔数。

    s1 = dt.Ticks.ToString();//一个tick代表100ns,一毫秒=10000tick,一秒等于107个ticks.636970570197681958

    四、日期操作

    TimeSpan它含有以下四个构造函数:

    • TimeSpan(Int64):初始化为指定的刻度数。
    • TimeSpan(Int32, Int32, Int32):初始化为指定的小时数、分钟数和秒数
    • TimeSpan(Int32, Int32, Int32, Int32): 初始化为指定的天数、小时数、分钟数和秒数
    • TimeSpan(Int32,Int32, Int32, Int32, Int32):初始化为指定的天数、小时数、分钟数、秒数和毫秒数。

    1、加减几X:

    s1 = dt.AddYears(1).ToString();// 2020-06-25 11:01:09
    s2 = dt.AddMonths(-1).ToString();// 2019-05-25 11:01:24
    s3 = dt.AddDays(1).ToString();// 2019-06-26 11:01:24
    s4 = dt.AddHours(-1).ToString();// 2019-06-25 10:01:24
    s5 = dt.AddMinutes(1).ToString();//2019-06-25 11:02:24
    s6 = dt.AddTicks(1000).ToString();//2019-06-25 11:01:24

    日期加减TimeSpan:

    DateTime dt = DateTime.Now;
    
    s1 = dt + TimeSpan.FromDays(2.1).ToString();//2019-06-25 11:05:392.02:24:00
    s2 = dt.Add(TimeSpan.FromDays(2.1)).ToString();//2019-06-27 13:29:39
    
    s3 = (dt - new TimeSpan(1, 2, 0, 0, 0)).ToString();// 2019-06-24 9:05:39
    s4 = dt.Subtract(TimeSpan.FromDays(2)).ToString();//2019-06-23 11:05:39

    2、两日期差异的TimeSpan

    s1 = (dt - dt.AddDays(-3)).Days.ToString();//3
    s2 = (dt.Subtract(dt.AddDays(-3))).Days.ToString();//3

    3、比较时间

    s1 = dt.CompareTo(dt.AddYears(1)).ToString();//-1
    s2 = (dt == dt.AddYears(1)).ToString();//False
    s3 = (dt < dt.AddYears(1)).ToString();// True

    五、静态方法:

    s1 = DateTime.DaysInMonth(2019, 6).ToString();//某月共有几天,30
    s2 = DateTime.IsLeapYear(2019).ToString();    //是否为闰年,False
    s3 = DateTime.Compare(dt, new DateTime(2019, 6, 25))) //比较. 1
    
    s4 = DateTime.Parse("2019,5,16").ToString();//2019-05-16 0:00:00
    s5 = DateTime.ParseExact("1899-12-30", "yyyy-MM-dd", CultureInfo.CurrentCulture.DateTimeFormat).ToString();//1899-12-30 0:00:00
    s6 = Convert.ToDateTime("2019,5,16").ToString();//2019-05-16 0:00:00

    六、计算一年中的第几周

    1、见上面的dt.DayOfYear。

    2、利用GregorianCalendar

    GregorianCalendar gc = new GregorianCalendar();
    int weekOfYear = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
    s1 = weekOfYear.ToString();// 26
  • 相关阅读:
    2016.5.30实现透明Panel及控件置顶的方法
    2016.6.14自定义控件添加自定义事件
    2016.5.30让窗口处于最顶层的方法
    2016.5.23 用反射技术为实体类变量赋值、取值
    2016.4.6 WinForm显示PDF两种方法
    2016.3.7 Word2007编号设置
    2016.2.28 DataTable用法汇总
    2016.2.24 利用用户控件和委托完美解决快速选择txbbox
    2016.2.13 (年初六) oracle两张表update方法
    怎样用idhttpserver代替IIS让用户浏览html或下载文件 http://bbs.csdn.net/topics/360248674
  • 原文地址:https://www.cnblogs.com/springsnow/p/12975798.html
Copyright © 2011-2022 走看看