調整日期時間格式
參考了下列資料後
SQL Server数据库中Date/Time 时间格式的转换
整理一下
#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