c# 中DateTime用法

文章目录

  • 1. 前言
  • 2. DateTime
    • 2.1 日期格式化
    • 2.2 运算
      • 2.21 比较大小
      • 2.22 数值加减

1. 前言

  • 基于c#加密程序 ,需要用到时间的比较和一些常规计算、格式调整等, 遇到一些bug 故做此总结。

2. DateTime

  • DateTime是一个包含日期、时间的类型,此类型通过ToString()转换为字符串时,可根据传入给Tostring()的参数转换为多种字符串格式。

2.1 日期格式化

  • 将DateTime的变量转化为指定格式 EXP:

    //日期格式化:返回一个字符串:“2015年07月18日 15:07 - 14:08”
    item.MeetingTimestring = Convert.ToDateTime(item.MeetingStartDate).ToString("yyyy年MM月dd日HH:MM",System.Globalization.DateTimeFormatInfo.InvariantInfo);
    tem.MeetingTimestring += Convert.ToDateTime(item.MeetingEndDate).ToString(" - HH:MM",System.Globalization.DateTimeFormatInfo.InvariantInfo);//做字符串拼接
    
    • 格式总览:
符号 语法 示例(2016-05-09 13:09:55:2350) 格式说明
y DateTime.Now.ToString() 2016/5/9 13:09:55 短日期 长时间
d DateTime.Now.ToString(“d”) 2016/5/9 短日期
D DateTime.Now.ToString(“D”) 2016年5月9日 长日期
f DateTime.Now.ToString(“f”) 2016年5月9日 13:09 长日期 短时间
F DateTime.Now.ToString(“F”) 2016年5月9日 13:09:55 长日期 长时间
g DateTime.Now.ToString(“g”) 2016/5/9 13:09 短日期 短时间
G DateTime.Now.ToString(“G”) 2016/5/9 13:09:55 短日期 长时间
t DateTime.Now.ToString(“t”) 13:09 短时间
T DateTime.Now.ToString(“T”) 13:09:55 长时间
u DateTime.Now.ToString(“u”) 2016-05-09 13:09:55Z
U DateTime.Now.ToString(“U”) 2016年5月9日 5:09:55 本初子午线的长日期和长时间
m DateTime.Now.ToString(“m”) 5月9日
M DateTime.Now.ToString(“M”) 5月9日
r DateTime.Now.ToString(“r”) Mon, 09 May 2016 13:09:55 GMT
R DateTime.Now.ToString(“R”) Mon, 09 May 2016 13:09:55 GMT
y DateTime.Now.ToString(“y”) 2016年5月
Y DateTime.Now.ToString(“Y”) 2016年5月
o DateTime.Now.ToString(“o”) 2016-05-09T13:09:55.2350000
O DateTime.Now.ToString(“O”) 2016-05-09T13:09:55.2350000
s DateTime.Now.ToString(“s”) 2016-05-09T13:09:55

2.2 运算

2.21 比较大小

  • 判断两个时间的的值大小 ,即那一个时间在前,哪一个在后。
    DateTime   t1   =   new   DateTime(100);   
    DateTime   t2   =   new   DateTime(20);   
        
    if(DateTime.Compare(t1,   t2) >0)   Console.WriteLine("t1 > t2");     
    if(DateTime.Compare(t1,   t2) == 0) Console.WriteLine("t1 == t2");     
    if(DateTime.Compare(t1,   t2) < 0)   Console.WriteLine("t1 < t2");   
    

2.22 数值加减

  • 可以直接做加减法

  • AddDay(N):增加或者减少N天的日期,参数N为double类型值。

  • AddMonth(N):增加或减少N月的日期,参数N为Int类型。

  • AddYear(N):增加或者减少N年的日期,参数N为Int类型。

  • AddMilliseconds(N):增加或者减少N毫秒的日期,参数N为double类型值。

  • AddSeconds(N):增加或者减少N秒的日期,参数N为double类型值。

  • AddMinutes(N):增加或者减少N分钟的日期,参数N为double类型值。

  • AddHours(N):增加或者减少N小时的日期,参数N为double类型值。

  • EXP:

    var nowDate = DateTime.Now;
    var change = nowDate.AddSeconds(12.3);
    

你可能感兴趣的:(C#)