天天看點

日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的差別日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的差別

日期格式化{0:yyyy-MM-dd HH:mm:ss.fff}和{0:yyyy-MM-dd hh:mm:ss.fff}的差別

{0:yyyy-MM-dd HH:mm:ss.fff}:使用24小時制格式化日期

{0:yyyy-MM-dd hh:mm:ss.fff}:使用12小時制格式化日期

以下同理,從左至右分别為-年-月-日 時:分:秒.毫秒

{0:yyyy-MM-dd HH:mm:ss zzz}

{0:yyyy-MM-dd HH:mm:ss.ff zzz}

{0:yyyy-MM-dd HH:mm:ss.fff zzz}

{0:yyyy-MM-dd HH:mm:ss.ffff zzz}

以下測試代碼

//---假設時間為-2009-03-17 16:50:49.92

object objValue2 = Business.Services.ExecuteScalar(sqliteconnstring, "Select LastUpdate From CmItemClass2 order by LastUpdate desc limit 0,1");

string lastUpdate2 = objValue2 == null ? string.Empty : string.Format("{0:yyyy-MM-dd HH:mm:ss.fff}", objValue2); //--輸出2009-03-17 16:50:49.920

string lastUpdate3 = objValue2 == null ? string.Empty : string.Format("{0:yyyy-MM-dd hh:mm:ss.fff}", objValue2); //--輸出2009-03-17 04:50:49.920

//--------------------

y 将指定 DateTime 對象的年份部分顯示為位數最多為兩位的數字。忽略年的前兩位數字。如果年份是一位數字 (1-9),則它顯示為一位數字。

yy 将指定 DateTime 對象的年份部分顯示為位數最多為兩位的數字。忽略年的前兩位數字。如果年份是一位數字 (1-9),則将其格式化為帶有前導 0 (01-09)。

yyyy 顯示指定 DateTime 對象的年份部分(包括世紀)。如果年份長度小于四位,則按需要在前面追加零以使顯示的年份長度達到四位。

z 僅以整小時數為機關顯示系統目前時區的時區偏移量。偏移量總顯示為帶有前導或尾随符号(零顯示為“+0”),訓示早于格林威治時間 (+) 或遲于格林威治時間 (-) 的小時數。值的範圍是 –12 到 +13。如果偏移量為一位數 (0-9),則将其顯示為帶合适前導符号的一位數。該時區的設定指定為 +X 或 –X,其中 X 是相對 GMT 以小時為機關的偏移量。所顯示的偏移量受夏時制的影響。

zz 僅以整小時數為機關顯示系統目前時區的時區偏移量。偏移量總顯示為帶有前導或尾随符号(零顯示為“+00”),訓示早于格林威治時間 (+) 或遲于格林威治時間 (-) 的小時數。值範圍為 –12 到 +13。如果偏移量為單個數字 (0-9),則将其格式化為前面帶有 0 (01-09) 并帶有适當的前導符号。該時區的設定指定為 +X 或 –X,其中 X 是相對 GMT 以小時為機關的偏移量。所顯示的偏移量受夏時制的影響。

zzz, zzz(外加任意數量的附加“z”字元)以小時和分鐘為機關顯示系統目前時區的時區偏移量。偏移量總是顯示為帶有前導或尾随符号(零顯示為 “+00:00”),訓示早于格林威治時間 (+) 或遲于格林威治時間 (-) 的小時和分鐘數。值範圍為 –12 到 +13。如果偏移量為單個數字 (0-9),則将其格式化為前面帶有 0 (01-09) 并帶有适當的前導符号。該時區的設定指定為 +X 或 –X,其中 X 是相對 GMT 以小時為機關的偏移量。所顯示的偏移量受夏時制的影響。

: 時間分隔符。

/ 日期分隔符。

" 帶引号的字元串。顯示轉義符 (/) 之後兩個引号之間的任何字元串的文本值。

' 帶引号的字元串。顯示兩個“'”字元之間的任何字元串的文本值。

%c 其中 c 是标準格式字元,顯示與格式字元關聯的标準格式模式。

\c 其中 c 是任意字元,轉義符将下一個字元顯示為文本。在此上下文中,轉義符不能用于建立轉義序列(如“\n”表示換行)。

任何其他字元 其他字元作為文本直接寫入輸出字元串。

向 DateTime.ToString 傳遞自定義模式時,模式必須至少為兩個字元長。如果隻傳遞“d”,則公共語言運作庫将其解釋為标準格式說明符,這是因為所有單個格式說明符都被解釋為标準 格式說明符。如果傳遞單個“h”,則引發異常,原因是不存在标準的“h”格式說明符。若要隻使用單個自定義格式進行格式化,請在說明符的前面或後面添加一 個空格。例如,格式字元串“h”被解釋為自定義格式字元串。

下 表顯示使用任意值 DateTime.Now(該值顯示目前時間)的示例。示例中給出了不同的區域性和時區設定,以闡釋更改區域性的影響。可以通過下列方法更改目前區域性: 更改 Microsoft Windows 的“日期/時間”控制台中的值,傳遞您自己的 DateTimeFormatInfo 對象,或将 CultureInfo 對象設定傳遞給不同的區域性。此表是說明自定義日期和時間說明符如何影響格式化的快速指南。請參閱該表下面闡釋這些說明符的代碼示例部分。

格式說明符 目前區域性 時區 輸出

d, M en-US GMT 12, 4

d, M es-MX GMT 12, 4

d MMMM en-US GMT 12 April

d MMMM es-MX GMT 12 Abril

dddd MMMM yy gg en-US GMT Thursday April 01 A.D.

dddd MMMM yy gg es-MX GMT Jueves Abril 01 DC

h , m: s en-US GMT 6 , 13: 12

hh,mm:ss en-US GMT 06,13:12

HH-mm-ss-tt en-US GMT 06-13-12-AM

hh:mm, G\MT z  en-US GMT 05:13 GMT +0

hh:mm, G\MT z  en-US GMT +10:00 05:13 GMT +10

hh:mm, G\MT zzz en-US GMT 05:13 GMT +00:00

轉載于:https://www.cnblogs.com/wjhblogs/p/4617128.html