[轉貼] C# 日期格式

2012062014:07

需要把DateTime.Now輸出特定格式,
將用到的東西記錄一下。

日期輸出的格式文件,非常詳細。

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

可以針對年月日和時間的輸出格式做設定。
簡單說明帶入的參數設定,

yyyy = 四位數的西元年,
M (大寫) = 一或兩位數的月份,
MM (大寫) = 兩位數的月份,1 ~ 9月的數字自動補零,
MMM (大寫) = 月份的英文簡稱 (例 Jan),這邊是以CultureInfo為en-US為預設值,
MMMM (大寫) = 月份的英文全名 (例 October),這邊是以CultureInfo為en-US為預設值,

d = 一或兩位數的日,
dd = 兩位數的日,1~9的天數自動補零,
ddd = 星期幾的英文簡稱(例 Mon),這邊是以CultureInfo為en-US為預設值,
dddd = 星期幾的英文全名,這邊是以CultureInfo為en-US為預設值。

參數字串可以使用自訂的分隔字元,
例如「/」、「-」。

以下是使用的範例,
在中文的環境中,如果沒有指定CultureInfo(“en-US"),
則會抓取系統語系值。

using System.Globalization;

DateTime dtObj = DateTime.Now;

//以 月份 日, 年 的格式輸出
string outputDate = dtObj.ToString("MMMM dd, yyyy", new CultureInfo("en-US"));
//結果為 March 11, 2010

//也可以直接使用帶參數ToString()
//沒有指定CultureInfo
string paraDate = DateTime.Now.ToString("MMM dd, yyyy");
//結果為 十月 01, 2011

//指定CultureInfo
string paraCulDate = DateTime.Now.ToString("MMM dd, yyyy", CultureInfo.CreateSpecificCulture("en-US"));
//結果為 Oct 02, 2011

//變換分隔字元
outputDate = DateTime.Now.ToString("dd-MM-yyyy");
//結果為 02-10-2011

outputDate = DateTime.Now.ToString("dd/MM/yyyy");
//結果為 02/10/2011