zoukankan      html  css  js  c++  java
  • c#日期时间的操作的函数总结[转]

    当前日期时间的获取:

    DateTime datetime1=DateTime.Now;

    日期时间的运算:

    string str1=datetime1.toString();//获取当前日期和时间

    string str1=(datetime1.AddYears(1)).ToString(); //加年份

    string str1=(datetime1.AddMonths(1)).ToString();//加月份

    string str1=(datetime1.AddDays(1)).ToString();//加日期

    string str1=(datetime1.AddHours(1)).ToString();//加小时

    string str1=(datetime1.AddMinutes(1)).ToString();//加分

    string str1=(datetime1.AddSeconds(1)).ToString();//加秒

    string str1=(datetime1.AddMilliseconds(1)).ToString();//加毫秒
    long long1=System.DateTime.DaysInMonth(2005,2); //返回某年某月有几天

    string str1=datetime1.DayOfWeek.ToString("D"); //将星期转换成数字字符 星期日为0

    TimeSpan subtime=datetime1.Subtract(datetime2); //获得datetime1和datetime2之间的间隔,具体时间可以从subtime中分离出来。

    具体时间的分离:

      long long1=datetime1.Year;//取得年份
      long long1=datetime1.Month;//取得月份
      long long1=datetime1.Day;//取得日期
      long long1=datetime1.Hour;//取得小时
      long long1=datetime1.Minute;//取得分
      long long1=datetime1.Second;//取得秒
      long long1=datetime1.Millisecond;//取得毫秒

    下面列出一些Asp.net中具体的日期格式化用法:


    ============================================
    1.绑定时格式化日期方法:

    2.数据控件如DataGrid/DataList等的件格式化日期方法:
    e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString();

    3.用String类转换日期显示格式:
    String.Format( "yyyy-MM-dd ",yourDateTime);

    4.用Convert方法转换日期显示格式:
    Convert.ToDateTime("2005-8-23").ToString

    ("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo); //支持繁体数据库

    5.直接用ToString方法转换日期显示格式:
    DateTime.Now.ToString("yyyyMMddhhmmss");
    DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")

    6.只显示年月
    DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}")

    7.显示时间所有部分,包括:年月日时分秒

    DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}">

    1.9 取中文日期显示——年月日时分
    string strY=currentTime.ToString("f"); //不显示秒

    1.10 取中文日期显示_年月
    string strYM=currentTime.ToString("y");

    1.11 取中文日期显示_月日
    string strMD=currentTime.ToString("m");

    1.12 取中文年月日
    string strYMD=currentTime.ToString("D");

    1.13 取当前时分,格式为:14:24
    string strT=currentTime.ToString("t");

    1.14 取当前时间,格式为:2003-09-23T14:46:48
    string strT=currentTime.ToString("s");

    1.15 取当前时间,格式为:2003-09-23 14:48:30Z
    string strT=currentTime.ToString("u");

    1.16 取当前时间,格式为:2003-09-23 14:48
    string strT=currentTime.ToString("g");

    1.17 取当前时间,格式为:Tue, 23 Sep 2003 14:52:40 GMT
    string strT=currentTime.ToString("r");

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

    ----

    DateTime dt = DateTime.Now;
    Label1.Text = dt.ToString();//2005-11-5 13:21:25
    Label2.Text = dt.ToFileTime().ToString();//127756416859912816
    Label3.Text = dt.ToFileTimeUtc().ToString();//127756704859912816
    Label4.Text = dt.ToLocalTime().ToString();//2005-11-5 21:21:25
    Label5.Text = dt.ToLongDateString().ToString();//2005年11月5日
    Label6.Text = dt.ToLongTimeString().ToString();//13:21:25
    Label7.Text = dt.ToOADate().ToString();//38661.5565508218
    Label8.Text = dt.ToShortDateString().ToString();//2005-11-5
    Label9.Text = dt.ToShortTimeString().ToString();//13:21
    Label10.Text = dt.ToUniversalTime().ToString();//2005-11-5 5:21:25

    Label1.Text = dt.Year.ToString();//2005
    Label2.Text = dt.Date.ToString();//2005-11-5 0:00:00
    Label3.Text = dt.DayOfWeek.ToString();//Saturday
    Label4.Text = dt.DayOfYear.ToString();//309
    Label5.Text = dt.Hour.ToString();//13
    Label6.Text = dt.Millisecond.ToString();//441
    Label7.Text = dt.Minute.ToString();//30
    Label8.Text = dt.Month.ToString();//11
    Label9.Text = dt.Second.ToString();//28
    Label10.Text = dt.Ticks.ToString();//632667942284412864
    Label11.Text = dt.TimeOfDay.ToString();//13:30:28.4412864

    Label1.Text = dt.ToString();//2005-11-5 13:47:04
    Label2.Text = dt.AddYears(1).ToString();//2006-11-5 13:47:04
    Label3.Text = dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
    Label4.Text = dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
    Label5.Text = dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
    Label6.Text = dt.AddMonths(1).ToString();//2005-12-5 13:47:04
    Label7.Text = dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
    Label8.Text = dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
    Label9.Text = dt.AddTicks(1000).ToString();//2005-11-5 13:47:04
    Label10.Text = dt.CompareTo(dt).ToString();//0
    Label11.Text = dt.Add(?).ToString();//问号为一个时间段

    Label1.Text = dt.Equals("2005-11-6 16:11:04").ToString();//False
    Label2.Text = dt.Equals(dt).ToString();//True
    Label3.Text = dt.GetHashCode().ToString();//1474088234
    Label4.Text = dt.GetType().ToString();//System.DateTime
    Label5.Text = dt.GetTypeCode().ToString();//DateTime

    Label1.Text = dt.GetDateTimeFormats('s')[0].ToString();//2005-11-05T14:06:25
    Label2.Text = dt.GetDateTimeFormats('t')[0].ToString();//14:06
    Label3.Text = dt.GetDateTimeFormats('y')[0].ToString();//2005年11月
    Label4.Text = dt.GetDateTimeFormats('D')[0].ToString();//2005年11月5日
    Label5.Text = dt.GetDateTimeFormats('D')[1].ToString();//2005 11 05
    Label6.Text = dt.GetDateTimeFormats('D')[2].ToString();//星期六 2005 11 05
    Label7.Text = dt.GetDateTimeFormats('D')[3].ToString();//星期六 2005年11月5日
    Label8.Text = dt.GetDateTimeFormats('M')[0].ToString();//11月5日
    Label9.Text = dt.GetDateTimeFormats('f')[0].ToString();//2005年11月5日 14:06
    Label10.Text = dt.GetDateTimeFormats('g')[0].ToString();//2005-11-5 14:06
    Label11.Text = dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2005 14:06:25 GMT

    Label1.Text = string.Format("{0:d}",dt);//2005-11-5
    Label2.Text = string.Format("{0:D}",dt);//2005年11月5日
    Label3.Text = string.Format("{0:f}",dt);//2005年11月5日 14:23
    Label4.Text = string.Format("{0:F}",dt);//2005年11月5日 14:23:23
    Label5.Text = string.Format("{0:g}",dt);//2005-11-5 14:23
    Label6.Text = string.Format("{0:G}",dt);//2005-11-5 14:23:23
    Label7.Text = string.Format("{0:M}",dt);//11月5日
    Label8.Text = string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
    Label9.Text = string.Format("{0:s}",dt);//2005-11-05T14:23:23
    Label10.Text = string.Format("{0:t}",dt);//14:23
    Label11.Text = string.Format("{0:T}",dt);//14:23:23
    Label12.Text = string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
    Label13.Text = string.Format("{0:U}",dt);//2005年11月5日 6:23:23
    Label14.Text = string.Format("{0:Y}",dt);//2005年11月
    Label15.Text = string.Format("{0}",dt);//2005-11-5 14:23:23
    Label16.Text = string.Format("{0:yyyyMMddHHmmssffff}",dt);//2005-11-5 13:30:28.4412864

    C#比较两时间大小
    1、比较时间大小的实验

    string st1="12:13";

    string st2="14:14";

    DateTime dt1=Convert.ToDateTime(st1);

    DateTime dt2=Convert.ToDateTime(st2);

    DateTime dt3=DateTime.Now;

    if(DateTime.Compare(dt1,dt2)>0)

    msg.Text=st1+">"+st2;

    else

    msg.Text=st1+"<"+st2;

    msg.Text+="\r\n"+dt1.ToString();

    if(DateTime.Compare(dt1,dt3)>0)

    msg.Text+="\r\n"+st1+">"+dt3.ToString();

    else

    msg.Text+="\r\n"+st1+"<"+dt3.ToString();


    2、计算两个时间差值的函数,返回时间差的绝对值:

    private string DateDiff(DateTime DateTime1,DateTime DateTime2)

    {

    string dateDiff=null;

    try

    {

    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()+"秒";

    }

    catch

    {
    }

    return dateDiff;

    }
    3、实现计算DateTime1-36天=DateTime2的功能
    TimeSpan ts=new TimeSpan(40,0,0,0);

    DateTime dt2=DateTime.Now.Subtract(ts);

    msg.Text=DateTime.Now.ToString()+"-"+ts.Days.ToString()+"天\r\n"; msg.Text+=dt2.ToString();

  • 相关阅读:
    C语言 sprintf 函数 C语言零基础入门教程
    C语言 printf 函数 C语言零基础入门教程
    C语言 文件读写 fgets 函数 C语言零基础入门教程
    C语言 文件读写 fputs 函数 C语言零基础入门教程
    C语言 fprintf 函数 C语言零基础入门教程
    C语言 文件读写 fgetc 函数 C语言零基础入门教程
    C语言 文件读写 fputc 函数 C语言零基础入门教程
    C语言 strlen 函数 C语言零基础入门教程
    Brad Abrams关于Naming Conventions的演讲中涉及到的生词集解
    适配器模式
  • 原文地址:https://www.cnblogs.com/chenbg2001/p/1607949.html
Copyright © 2011-2022 走看看