調整日期時間格式

調整日期時間格式

參考了下列資料後

SQL Server数据库中Date/Time 时间格式的转换

[C#]日期函數

整理一下

#region 日期格式範例
        /*    DateTime dt = DateTime.Now;
            string[] strDT = new string[17];
            strDT[1] = dt.ToString();//2009/5/25 下午 05:35:21 
            strDT[2] = dt.ToFileTime().ToString();//127756416859912816 
            strDT[3] = dt.ToFileTimeUtc().ToString();//127756704859912816 
            strDT[4] = dt.ToLocalTime().ToString();//2009/5/25 下午 05:35:21 
            strDT[5] = dt.ToLongDateString().ToString();//2009年2月28日 
            strDT[6] = dt.ToLongTimeString().ToString();//下午 05:35:21 
            strDT[7] = dt.ToOADate().ToString();//39882.6654489321 
            strDT[8] = dt.ToShortDateString().ToString();//2009/5/25 
            strDT[9] = dt.ToShortTimeString().ToString();//下午 05:35
            strDT[10] = dt.ToUniversalTime().ToString();//2009/5/25 上午 09:35:21 

            strDT[1] = dt.Year.ToString();//2009 
            strDT[2] = dt.Date.ToString();//2009/5/26 上午 12:00:00
            strDT[3] = dt.DayOfWeek.ToString();//Saturday 
            strDT[4] = dt.DayOfYear.ToString();//146 
            strDT[5] = dt.Hour.ToString();//13 
            strDT[6] = dt.Millisecond.ToString();//441 
            strDT[7] = dt.Minute.ToString();//30 
            strDT[8] = dt.Month.ToString();//2 
            strDT[9] = dt.Second.ToString();//28 
            strDT[10] = dt.Ticks.ToString();//632667942284412864 
            strDT[11] = dt.TimeOfDay.ToString();//16:25:334412864 
            strDT[1] = dt.ToString();//2009/5/26 上午 12:28:21 
            strDT[2] = dt.AddYears(1).ToString();//2010/5/26 上午 12:28:21 
            strDT[3] = dt.AddDays(1.1).ToString();//2009/5/27 上午 12:28:21 
            strDT[4] = dt.AddHours(1.1).ToString();//2009/5/26 上午 01:28:21 
            strDT[5] = dt.AddMilliseconds(1.1).ToString();//2009/5/26 上午 12:29:21  
            strDT[6] = dt.AddMonths(1).ToString();//2009/6/26 上午 12:28:21 
            strDT[7] = dt.AddSeconds(1.1).ToString();//2009/5/26 上午 12:28:22 
            strDT[8] = dt.AddMinutes(1.1).ToString();//2009/5/26 上午 12:29:21  
            strDT[9] = dt.AddTicks(1000).ToString();//2009/5/26 上午 12:28:21 
            strDT[10] = dt.CompareTo(dt).ToString();//0 
            //strDT[11] = dt.Add(?).ToString(); //? = TimeSpan Value
            strDT[1] = dt.Equals("2009-2-28 16:11:04").ToString();//False 
            strDT[2] = dt.Equals(dt).ToString();//True 
            strDT[3] = dt.GetHashCode().ToString();//1535674321 
            strDT[4] = dt.GetType().ToString();//System.DateTime 
            strDT[5] = dt.GetTypeCode().ToString();//DateTime 

            strDT[1] = dt.GetDateTimeFormats('s')[0].ToString();//2009-05-26T00:28:21
            strDT[2] = dt.GetDateTimeFormats('t')[0].ToString();//上午 12:28
            strDT[3] = dt.GetDateTimeFormats('y')[0].ToString();//2009年5月
            strDT[4] = dt.GetDateTimeFormats('D')[0].ToString();//2009年5月26日
            strDT[5] = dt.GetDateTimeFormats('D')[1].ToString();//2009年05月26日 

            IFormatProvider culture = new System.Globalization.CultureInfo("zh-CN", true);
            strDT[6] = dt.GetDateTimeFormats('D', culture)[2].ToString();//星期二, 2009-05-26
            strDT[7] = dt.GetDateTimeFormats('D', culture)[3].ToString();//星期二, 2009年5月26日

            strDT[8] = dt.GetDateTimeFormats('M')[0].ToString();//5月26日
            strDT[9] = dt.GetDateTimeFormats('f')[0].ToString();//2009年5月26日 上午 12:42 
            strDT[10] = dt.GetDateTimeFormats('g')[0].ToString();//2009/5/26 上午 12:42
            strDT[11] = dt.GetDateTimeFormats('r')[0].ToString();//Tue, 26 May 2009 00:42:05 GMT

            strDT[1] = string.Format("{0:d}", dt);//2009/5/26 
            strDT[2] = string.Format("{0:D}", dt);//2009年5月26日 
            strDT[3] = string.Format("{0:f}", dt);//2009年5月26日 上午 12:42
            strDT[4] = string.Format("{0:F}", dt);//2009年5月26日 上午 12:42:05
            strDT[5] = string.Format("{0:g}", dt);//2009/5/26 上午 12:42 
            strDT[6] = string.Format("{0:G}", dt);//2009/5/26 上午 12:42:05
            strDT[7] = string.Format("{0:M}", dt);//5月26日 
            strDT[8] = string.Format("{0:R}", dt);//Tue, 26 May 2009 00:42:05 GMT
            strDT[9] = string.Format("{0:s}", dt);//2009-05-26T00:42:05
            strDT[10] = string.Format("{0:t}", dt);//上午 12:42
            strDT[11] = string.Format("{0:T}", dt);//上午 12:42:05
            strDT[12] = string.Format("{0:u}", dt);//2009-05-26 00:42:05Z 
            strDT[13] = string.Format("{0:U}", dt);//2009年5月25日 下午 04:42:05
            strDT[14] = string.Format("{0:Y}", dt);//2009年5月
            strDT[15] = string.Format("{0}", dt);//2009/5/26 上午 12:42:05 
            strDT[16] = string.Format("{0:yyyyMMddHHmmssffff}", dt); //200905260042057892*/               
        #endregion

而利用sql指令調整時間格式如下

#region 下sql去db撈日期後調整輸出格式
    //編碼 sql指令 輸出格式
    //1  select convert(varchar, getdate(), 1)  12/30/06  
    //2  select convert(varchar, getdate(), 2)  06.12.30  
    //3  select convert(varchar, getdate(), 3)  30/12/06  
    //4  select convert(varchar, getdate(), 4)  30.12.06  
    //5  select convert(varchar, getdate(), 5)  30-12-06  
    //6  select convert(varchar, getdate(), 6)  30 Dec 06  
    //7  select convert(varchar, getdate(), 7)  Dec 30, 06  
    //10  select convert(varchar, getdate(), 10)  12-30-06  
    //11  select convert(varchar, getdate(), 11)  06/12/30  
    //101  select convert(varchar, getdate(), 101)  12/30/2006  
    //102  select convert(varchar, getdate(), 102)  2006.12.30  
    //103  select convert(varchar, getdate(), 103)  30/12/2006  
    //104  select convert(varchar, getdate(), 104)  30.12.2006  
    //105  select convert(varchar, getdate(), 105)  30-12-2006  
    //106  select convert(varchar, getdate(), 106)  30 Dec 2006  
    //107  select convert(varchar, getdate(), 107)  Dec 30, 2006  
    //110  select convert(varchar, getdate(), 110)  12-30-2006  
    //111  select convert(varchar, getdate(), 111)  2006/12/30  
    //8 or 108  select convert(varchar, getdate(), 8)  00:38:54  
    //9 or 109  select convert(varchar, getdate(), 9)  Dec 30 2006 12:38:54:840AM  
    //14 or 114  select convert(varchar, getdate(), 14)  00:38:54:840     

    /// <summary>
    /// 設定本日日期時間格式.
    /// </summary>
    /// <param name="type">The type.</param>
    /// <param name="ConnectString">The connect string.</param>
    /// <returns></returns>
    public static string GetTodayTimeFormatSql(int type, string ConnectString)
    {
        DataTable dt = new DataTable();
        string SqlCmd = "select convert(varchar, getdate(), "+type.ToString()+" ) as expr1 ";
        using (SqlConnection cn = new SqlConnection(ConnectString))
        {
            cn.Open();
            using (SqlCommand cmd = new SqlCommand(SqlCmd, cn))
            {
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    dt.Load(dr);
                }
            }
        }
        return dt.Rows[0][0].ToString();
    }

    /// <summary>
    /// 設定datetime欄位日期時間格式.
    /// </summary>
    /// <param name="type">The type.</param>
    /// <param name="ConnectString">The connect string.</param>
    /// <param name="TableName">Name of the table.</param>
    /// <param name="ColumnName">Name of the column.</param>
    /// <param name="Condition">The condition.</param>
    /// <returns></returns>
    public static DataTable GetTimeFormatFromSql(int type,string ConnectString, string TableName,string ColumnName,string Condition)
    {
        DataTable dt = new DataTable();
        string SqlCmd = " select convert(varchar, "+ColumnName+" , " + type.ToString() + " ) as expr1 ";
        SqlCmd += " from " + TableName;
        if (Condition != string.Empty)
            SqlCmd += " where " + Condition;
        using (SqlConnection cn = new SqlConnection(ConnectString))
        {
            cn.Open();
            using (SqlCommand cmd = new SqlCommand(SqlCmd, cn))
            {
                using (SqlDataReader dr = cmd.ExecuteReader())
                {
                    dt.Load(dr);
                }
            }
        }
        return dt;
    }
    #endregion