c# DateTime常用操作实例(datetime计算时间差)

代码如下:

#region DateTime操作

public class C3
    {
        //DateTime常用的操作
        public static void Fun1()
        {
            //格式:2012-8-16 11:21:29
            Console.WriteLine("当前时间:{0}", DateTime.Now.ToString());

//格式:2012-8-16 0:00:00
            Console.WriteLine("日期部分:{0}", DateTime.Now.Date.ToString());

//格式:11:21:29
            Console.WriteLine("时间部分:{0}", DateTime.Now.ToLongTimeString());

//获取此实例的当天的时间。相当的精确【到毫秒】
            Console.WriteLine("TimeOfDay:{0}", DateTime.Now.TimeOfDay.ToString());

Console.WriteLine("取中文日期显示_年月日时分:{0}", DateTime.Now.ToString("f"));

Console.WriteLine("取中文日期显示_年月:{0}", DateTime.Now.ToString("y"));

Console.WriteLine("取中文日期显示_月日:{0}", DateTime.Now.ToString("m"));

Console.WriteLine("取中文年月日:{0}", DateTime.Now.ToString("D"));

//取当前时分,格式为:14:24
            Console.WriteLine("取当前时分:{0}", DateTime.Now.ToString("t"));

//取当前时间,格式为:2003-09-23T14:46:48
            Console.WriteLine("取当前时分:{0}", DateTime.Now.ToString("s"));

//取当前时间,格式为:2003-09-23 14:48:30Z
            Console.WriteLine("取当前时分:{0}", DateTime.Now.ToString("u"));

//取当前时间,格式为:2003-09-23 14:48
            Console.WriteLine("取当前时分:{0}", DateTime.Now.ToString("g"));

//取当前时间,格式为:Tue, 23 Sep 2003 14:52:40 GMT
            Console.WriteLine("取当前时分:{0}", DateTime.Now.ToString("r"));

//获得当前时间 n 天后的日期时间
            DateTime newDay = DateTime.Now.AddDays(100);
            Console.WriteLine(newDay.ToString());

Console.WriteLine("年:{0}", DateTime.Now.Year.ToString());
            Console.WriteLine("月:{0}", DateTime.Now.Month.ToString());
            Console.WriteLine("日:{0}", DateTime.Now.Day.ToString());
            Console.WriteLine("时:{0}", DateTime.Now.Hour.ToString());
            Console.WriteLine("分:{0}", DateTime.Now.Minute.ToString());
            Console.WriteLine("秒:{0}", DateTime.Now.Second.ToString());
            Console.WriteLine("毫秒:{0}", DateTime.Now.Millisecond.ToString());

Console.WriteLine("计时周期数:{0}", DateTime.Now.Ticks.ToString());
            Console.WriteLine("星期:{0}", DateTime.Now.DayOfWeek.ToString());
            Console.WriteLine("一年中的第几天:{0}", DateTime.Now.DayOfYear.ToString());

}

//客户端代码
        public static void MyFun()
        {
            //struct本身是一个结构体
            //DateTime dt0 = new DateTime();

DateTime dt1 = new DateTime(2012, 8, 14, 10, 54, 55);
            DateTime dt2 = new DateTime(2012, 12, 21);//2012-12-21 00:00:00
            Console.WriteLine(DateDiff(dt1, dt2));

//我活了多少天了
            DateTime dt3 = new DateTime(2012, 8, 14, 12, 00, 00);
            DateTime dt4 = new DateTime(1990, 11, 17, 02, 48, 00);//2012-12-21 00:00:00
            Console.WriteLine("我活了多少天" + DateDiff(dt4, dt3));
        }

//计算时间的差值
        public static string DateDiff(DateTime DateTime1, DateTime DateTime2)
        {
            string dateDiff = null;
            TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
            TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);

TimeSpan ts = ts1.Subtract(ts2).Duration();

dateDiff = ts.Days.ToString() + "天" + ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";
            return dateDiff;

#region note
            //C#中使用TimeSpan计算两个时间的差值
            //可以反加两个日期之间任何一个时间单位。
            //TimeSpan ts = Date1 - Date2;
            //double dDays = ts.TotalDays;//带小数的天数,比如1天12小时结果就是1.5
            //int nDays = ts.Days;//整数天数,1天12小时或者1天20小时结果都是1 
            #endregion
        }
    }

#endregion

(0)

相关推荐

  • 关于C#中DateTime常用方法概述

    DateTime.Now.ToShortTimeString() 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.To

  • c#中DateTime.Now函数的使用详解

    复制代码 代码如下: //2008年4月24日     System.DateTime.Now.ToString("D");     //2008-4-24     System.DateTime.Now.ToString("d");     //2008年4月24日 16:30:15     System.DateTime.Now.ToString("F");     //2008年4月24日 16:30     System.DateTime

  • 深入Unix时间戳与C# DateTime时间类型互换的详解

    Unix时间戳最小单位是秒,开始时间为格林威治标准时间1970-01-01 00:00:00ConvertIntDateTime方法的基本思路是通过获取本地时区表示Unixk开始时间,加上Unix时间值(即过去的秒数). ConvertDateTimeInt方法的基本思路是通过刻度数差,再把刻度数转换为秒数,当然要说明的是,我这里返回的是double类型,意义上并非是真正的Unix时间戳格式.要获取真正Unix时间戳的,只获取整数部分就可以了. 复制代码 代码如下: dangranusing S

  • C#、.Net中把字符串(String)格式转换为DateTime类型的三种方法

    方式一:Convert.ToDateTime(string) 复制代码 代码如下: Convert.ToDateTime(string) 注意:string格式有要求,必须是yyyy-MM-dd hh:mm:ss 方式二:Convert.ToDateTime(string, IFormatProvider) 复制代码 代码如下: DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo(); dtFormat

  • C#巧用DateTime预设可选的日期范围(如本年度、本季度、本月等)

    本文实例为大家分享了C# DateTime预设可选的日期范围的相关代码,可以选择本年度.本季度.本月等,供大家参考,具体内容如下 效果: 大家在做报表或查询的时候都会有给用户预设一些可选的日期范围(如上图) 如本年度销售额.本季度利润.本月新增客户 C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了 //今天 DateTime.Now.Date.ToShortDateString(); //昨天,就是今天的日期减一 DateTime.Now.A

  • C#中DateTime日期类型格式化显示方法汇总

    本文汇总了常用的DateTime日期类型格式化显示方法,方便读者在使用的时候参考借鉴一下.具体如下所示: 1.绑定时格式化日期方法: <ASP:BOUNDCOLUMN DATAFIELD= "JoinTime " DATAFORMATSTRING= "{0:yyyy-MM-dd} " > <ITEMSTYLE WIDTH= "18% " > </ITEMSTYLE > </ASP:BOUNDCOLUMN

  • C#时间格式化(Datetime)用法详解

    Datetime.ToString(String, IFormatProvider) 参数format格式详细用法: 格式字符 关联属性/说明 d ShortDatePattern D LongDatePattern f 完整日期和时间(长日期和短时间) F FullDateTimePattern(长日期和长时间) g 常规(短日期和短时间) G 常规(短日期和长时间) m.M MonthDayPattern r.R RFC1123Pattern s 使用当地时间的 SortableDateTi

  • c#详解datetime使用示例

    实例: 用户输入一个日期,要求输出这个日期是星期几和在这一年中的第几天: 复制代码 代码如下: //声明一个DateTime类型的变量用于存放用户输入的日期DateTime dt;Console.WriteLine("请输入日期:(例如:2000-01-01 或 2000/01/01)");//把输入的日期字符串转换成日期格式类型dt = DateTime.Parse(Console.ReadLine());//因为DayOfWeek返回的是0.1.2.3.4.5.6,分别对应的是日.

  • c# datetime方法应用介绍

    随着工作的需要,也算是写一个为自己留着的帮助文档吧. System.DateTime currentTime=new System.DateTime(); //实例化一个 datetime 对象 当前 年月日时分秒 currentTime=System.DateTime.Now; 当前 年 int 年=currentTime.Year; 当前 月 int 月=currentTime.Month; 当前 日 int 日=currentTime.Day; 当前 时 int 时=currentTime

  • c# datetime 格式化大全

    复制代码 代码如下: //c datetime 格式化DateTime dt = DateTime.Now;Label1.Text = dt.ToString();//2005-11-5 13:21:25Label2.Text = dt.ToFileTime().ToString();//127756416859912816Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816Label4.Text = dt.ToLoca

随机推荐