DateTime dt = DateTime.Now;

dt.ToString();//2005-11-5 13:21:25

dt.ToFileTime().ToString();//127756416859912816

dt.ToFileTimeUtc().ToString();//127756704859912816

dt.ToLocalTime().ToString();//2005-11-5 21:21:25

dt.ToLongDateString().ToString();//2005年11月5日

dt.ToLongTimeString().ToString();//13:21:25

dt.ToOADate().ToString();//38661.5565508218

dt.ToShortDateString().ToString();//2005-11-5

dt.ToShortTimeString().ToString();//13:21

dt.ToUniversalTime().ToString();//2005-11-5 5:21:25

dt.Year.ToString();//2005

dt.Date.ToString();//2005-11-5 0:00:00

dt.DayOfWeek.ToString();//Saturday

dt.DayOfYear.ToString();//309

dt.Hour.ToString();//13

dt.Millisecond.ToString();//441

dt.Minute.ToString();//30

dt.Month.ToString();//11

dt.Second.ToString();//28

dt.Ticks.ToString();//632667942284412864

dt.TimeOfDay.ToString();//13:30:28.4412864

dt.ToString();//2005-11-5 13:47:04

dt.AddYears(1).ToString();//2006-11-5 13:47:04

dt.AddDays(1.1).ToString();//2005-11-6 16:11:04

dt.AddHours(1.1).ToString();//2005-11-5 14:53:04

dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04

dt.AddMonths(1).ToString();//2005-12-5 13:47:04

dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05

dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10

dt.AddTicks(1000).ToString();//2005-11-5 13:47:04

dt.CompareTo(dt).ToString();//0

dt.Add(?).ToString();//问号为一个时间段

dt.Equals("2005-11-6 16:11:04").ToString();//False

dt.Equals(dt).ToString();//True

dt.GetHashCode().ToString();//1474088234

dt.GetType().ToString();//System.DateTime

dt.GetTypeCode().ToString();//DateTime

dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25

dt.GetDateTimeFormats('t')[0].ToString();//14:06

dt.GetDateTimeFormats('y')[0].ToString();//2005年11月

dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日

dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05

dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05

dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日

dt.GetDateTimeFormats('M')[0].ToString();//11月5日

dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06

dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06

dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT

string.Format("{0:d}",dt);//2005-11-5

string.Format("{0}",dt);//2005年11月5日

string.Format("{0:f}",dt);//2005年11月5日 14:23

string.Format("{0:F}",dt);//2005年11月5日 14:23:23

string.Format("{0:g}",dt);//2005-11-5 14:23

string.Format("{0:G}",dt);//2005-11-5 14:23:23

string.Format("{0:M}",dt);//11月5日

string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT

string.Format("{0:s}",dt);//2005-11-05T14:23:23

string.Format("{0:t}",dt);//14:23

string.Format("{0:T}",dt);//14:23:23

string.Format("{0:u}",dt);//2005-11-05 14:23:23Z

string.Format("{0:U}",dt);//2005年11月5日 6:23:23

string.Format("{0:Y}",dt);//2005年11月

string.Format("{0}",dt);//2005-11-5 14:23:23

string.Format("{0:yyyyMMddHHmmssffff}",dt);

计算2个日期之间的天数差

-----------------------------------------------

DateTime dt1 = Convert.DateTime("2007-8-1");

DateTime dt2 = Convert.DateTime("2007-8-15");

TimeSpan span = dt2.Subtract(dt1);

int dayDiff = span.Days + 1;

计算某年某月的天数

-----------------------------------------------

int days = DateTime.DaysInMonth(2007, 8);

days = 31;

给日期增加一天、减少一天

-----------------------------------------------

DateTime dt =DateTime.Now;

dt.AddDays(1); //增加一天

dt.AddDays(-1);//减少一天

时间差的计算
使用TimeSpan, 相关属性和函数
Add:与另一个TimeSpan值相加。 
Days:返回用天数计算的TimeSpan值。 
Duration:获取TimeSpan的绝对值。 
Hours:返回用小时计算的TimeSpan值 
Milliseconds:返回用毫秒计算的TimeSpan值。 
Minutes:返回用分钟计算的TimeSpan值。 
Negate:返回当前实例的相反数。 
Seconds:返回用秒计算的TimeSpan值。 
Subtract:从中减去另一个TimeSpan值。 
Ticks:返回TimeSpan值的tick数。 
TotalDays:返回TimeSpan值表示的天数。 
TotalHours:返回TimeSpan值表示的小时数。 
TotalMilliseconds:返回TimeSpan值表示的毫秒数。 
TotalMinutes:返回TimeSpan值表示的分钟数。 
TotalSeconds:返回TimeSpan值表示的秒数。

简单示例:
DateTime d1 =new DateTime(2004,1,1,15,36,05);
DateTime d2 =new DateTime(2004,3,1,20,16,35);
TimeSpan d3 = d2.Subtract(d1);
LbTime.Text = "相差:"
+d3.Days.ToString()+"天"
+d3.Hours.ToString()+"小时"
+d3.Minutes.ToString()+"分钟"
+d3.Seconds.ToString()+"秒";

C#时间处理--DateTime和TimeSpan的更多相关文章

  1. C#中 String 格式的日期时间 转为 DateTime

    C#中并没有表示时间的变量,只有DateTime,所以要表示时间,可以用TimeSpan表示. 方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-M ...

  2. unix时间转换为datetime\datetime转换为unixtime

    /// <summary> /// unix时间转换为datetime /// </summary> /// <param name="timeStamp&qu ...

  3. 生成二维码 加密解密类 TABLE转换成实体、TABLE转换成实体集合(可转换成对象和值类型) COOKIE帮助类 数据类型转换 截取字符串 根据IP获取地点 生成随机字符 UNIX时间转换为DATETIME\DATETIME转换为UNIXTIME 是否包含中文 生成秘钥方式之一 计算某一年 某一周 的起始时间和结束时间

    生成二维码 /// <summary>/// 生成二维码/// </summary>public static class QRcodeUtils{private static ...

  4. ahjesus在asp.net中还可以通过设置HttpCookie对象的过期时间为DateTime.MinValue来指定此Cookies为跟随浏览器生效

    ahjesus在asp.net中还可以通过设置HttpCookie对象的过期时间为DateTime.MinValue来指定此Cookies为跟随浏览器生效

  5. 带毫秒的字符转换成时间(DateTime)格式的通用方法

    C#自身有更好的方式,Net任意String格式转换为DateTime类型 ====================================================== 原文 ==== ...

  6. Python学习总结15:时间模块datetime & time & calendar (二)

    二 .datetime模块  1. datetime中常量 1)datetime.MINYEAR,表示datetime所能表示的最小年份,MINYEAR = 1. 2)datetime.MAXYEAR ...

  7. 2016年11月3日JS脚本简介数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6.布尔型数据:bool 7.对象类型:object 8.二进制:binary 语言类型: 1.强类型语言:c++ c c# java 2.弱类型语

    数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6 ...

  8. 【Python】随机模块random & 日期时间のtime&&datetime

    ■ random 顾名思义,random提供了python中关于模拟随机的一些方法.这些方法都一看就懂的,不多说了: random.random() 返回0<n<=1的随机实数 rando ...

  9. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

随机推荐

  1. http请求中java中的302和sendRedirect的区别

    ============================================================================================ getCont ...

  2. 8 个 Git 的小技巧

    git 已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的git技巧.   使用-p选择性添加 当你想提交内容时,你可以通过使用 git commit -am 来选择所有文件或使 ...

  3. JS闭包研究、自造困扰与解答

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  4. linux内核设计与实现--从内核出发

    linux内核有两种版本:稳定的和处于开发中的. linux通过一种简单的命名机制来区分稳定的和处于开发中的内核,使用3个或者4个“.”分割的数字来代表不同内核版本. 如:2.6.26.1:第一个数字 ...

  5. Java中Split函数的用法技巧

    在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧.如执行:"2|33|4".split(&quo ...

  6. 利用python yielding创建协程将异步编程同步化

    转自:http://www.jackyshen.com/2015/05/21/async-operations-in-form-of-sync-programming-with-python-yiel ...

  7. Tornado源码分析系列之一: 化异步为'同步'的Future和gen.coroutine

    转自:http://blog.nathon.wang/2015/06/24/tornado-source-insight-01-gen/ 用Tornado也有一段时间,Tornado的文档还是比较匮乏 ...

  8. POJ 1611

    菜鸟第一次做这种.想了好一会儿.== 首先还是初始化记忆数组,使得每一个元素的初始根节点是自己. 然后是对输入的数据进行并集.我们拿出每组元素的第一个作为根节点. 每次检测是否已经存在根节点.如果存在 ...

  9. (medium)LeetCode 222.Count Complete Tree Nodes

    Given a complete binary tree, count the number of nodes. Definition of a complete binary tree from W ...

  10. 为什么需要auto_ptr_ref

    这几天开始拜读侯捷先生和孟岩先生的译作<C++标准程序库:自修教程与参考手册> .两位先生确实译功上乘,读得很顺.但是读到P55页关于auto_ptr_ref的讨论,却百思不得其解:为什么 ...