C# 日期格式

紀錄常用的時間格式化

原文出處

 

http://giga0066.pixnet.net/blog/post/29817017-c%23-datetime-format-%E6%97%A5%E6%9C%9F-%E6%99%82%E9%96%93-%E6%A0%BC%E5%BC%8F

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DateTimeFormat
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write(DateTime.Now.ToShortTimeString());//"上午 04:29"
            DateTime dt = DateTime.Now;
           
            // 日期格式
            dt.ToString();                      //"2016/7/16 上午 04:29:43"
            dt.ToLocalTime().ToString();        //"2016/7/16 上午 04:29:43" 本地時間
            dt.ToLongDateString().ToString();   //"2016年7月16日"
            dt.ToLongTimeString().ToString();   //"上午 04:29:43"
            dt.ToShortDateString().ToString();  //"2016/7/16"
            dt.ToShortTimeString().ToString();  //"下午 02:45"
            dt.ToUniversalTime().ToString();    //"2016/7/15 下午 08:29:43"
            dt.Year.ToString();                 //"2016"
            dt.Date.ToString();                 //"2016/7/16 上午 12:00:00"
            dt.DayOfWeek.ToString();            //Saturday
            dt.DayOfYear.ToString();            //198
            dt.Hour.ToString();                 //4
            dt.Millisecond.ToString();          //609
            dt.Minute.ToString();               //29
            dt.Month.ToString();                //7
            dt.Second.ToString();               //43
            dt.Ticks.ToString();                //636042406677785487
            dt.TimeOfDay.ToString();            //{04:37:47.7785487}

            //日期運算
            dt.AddYears(1).ToString();                       
            dt.AddDays(1.1).ToString();         
            dt.AddHours(1.1).ToString();        
            dt.AddMilliseconds(1.1).ToString(); 
            dt.AddMonths(1).ToString();        
            dt.AddSeconds(1.1).ToString();      
            dt.AddMinutes(1.1).ToString();    
            dt.CompareTo(dt).ToString();       
         
            //日期判斷
            dt.Equals("2016-7-6 16:07:04").ToString(); //False
            dt.Equals(dt).ToString();//True
          
            //常用的日期格式
            dt.GetDateTimeFormats('s')[0].ToString();//2016-7-05T14:06:25
            dt.GetDateTimeFormats('t')[0].ToString();//14:06
            dt.GetDateTimeFormats('y')[0].ToString();//2016年07月
            dt.GetDateTimeFormats('D')[0].ToString();//2016年07月5日
            dt.GetDateTimeFormats('D')[1].ToString();//2016 07 05
            dt.GetDateTimeFormats('M')[0].ToString();//07月5日
            dt.GetDateTimeFormats('f')[0].ToString();//2016年07月5日 14:06
            dt.GetDateTimeFormats('g')[0].ToString();//2016-7-5 14:06
            dt.GetDateTimeFormats('r')[0].ToString();//Sat, 05 Nov 2016 14:06:25 GMT

            string.Format("{0:d}", dt);//2016-7-5
            string.Format("{0:D}", dt);//2016年07月5日
            string.Format("{0:f}", dt);//2016年07月5日 14:23
            string.Format("{0:F}", dt);//2016年07月5日 14:23:23
            string.Format("{0:g}", dt);//2016-7-5 14:23
            string.Format("{0:G}", dt);//2016-7-5 14:23:23
            string.Format("{0:M}", dt);//07月5日
            string.Format("{0:R}", dt);//Sat, 05 Nov 2016 14:23:23 GMT
            string.Format("{0:s}", dt);//2016-7-05T14:23:23
            string.Format("{0:t}", dt);//14:23
            string.Format("{0:T}", dt);//14:23:23
            string.Format("{0:u}", dt);//2016-7-05 14:23:23Z
            string.Format("{0:U}", dt);//2016年07月5日 6:23:23
            string.Format("{0:Y}", dt);//2016年07月
            string.Format("{0}", dt);//2016-7-5 14:23:23
            string.Format("{0:yyyyMMddHHmmssffff}", dt);
            
            //計算2個日期之間的天數差
            //---------------------------------------------- -

            DateTime dt1 = Convert.ToDateTime("2016-8-1");
            DateTime dt2 = Convert.ToDateTime("2016-8-15");
            TimeSpan span = dt2.Subtract(dt1);
            int dayDiff = span.Days + 1;

            //計算某年某月的天數
            //---------------------------------------------- -
            int days = DateTime.DaysInMonth(2016, 8);
            
            //給日期增加一天、減少一天
            //---------------------------------------------- -
            DateTime dt3 = DateTime.Now;
            dt.AddDays(1); //增加一天
            dt.AddDays(-1);//減少一天

        }
    }
}