日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DateTimeFormatInfo 类

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DateTimeFormatInfo 类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

From:?http://127.0.0.1:47873/help/0-3684/ms.help?method=page&id=T%3ASYSTEM.GLOBALIZATION.DATETIMEFORMATINFO&product=VS&productVersion=100&topicVersion=100&locale=ZH-CN&topicLocale=ZH-CN


定義如何根據區域性設置?DateTime?值的格式并顯示這些值。

命名空間: ??? System.Globalization
程序集: ??? mscorlib (在 mscorlib.dll 中) 語法 VB C# C++ F# JScript 打印 [SerializableAttribute] [ComVisibleAttribute(true)] public sealed class DateTimeFormatInfo : ICloneable, IFormatProvider 備注

此類包含各種信息,例如日期模式、時間模式和 AM/PM 指示項。使用在?DateTimeFormatInfo?對象的屬性中存儲的標準或自定義模式設置?DateTime?值的格式。

在應用程序中直接使用?DateTimeFormatInfo?構造函數,可創建固定區域性的日期/時間信息。?應用程序對只讀版本使用?InvariantInfo?屬性,對可寫版本使用?DateTimeFormatInfo?構造函數。?對于非特定區域性,不能創建?DateTimeFormatInfo?對象。

若要為特定區域性創建?DateTimeFormatInfo?對象,應用程序應為該區域性創建?CultureInfo?對象并檢索?CultureInfo?.DateTimeFormat?屬性。?以這種方式獲得的日期/時間數據僅適用于特定的區域性。

若要為當前線程的區域性創建?DateTimeFormatInfo?對象,應用程序應使用?CurrentInfo?屬性。

用戶可以通過“控制面板”的“區域和語言選項”部分選擇重寫某些與 Windows 當前區域性關聯的值。例如,用戶可能選擇以另一種格式顯示日期,或選擇使用區域性默認設置以外的貨幣。如果將?CultureInfo?.UseUserOverride?屬性設置為?true,則還將從用戶設置中檢索?CultureInfo?.DateTimeFormat?對象、?CultureInfo?.NumberFormat?對象和?CultureInfo?.TextInfo?對象的屬性。?如果用戶設置與?CultureInfo?對象的關聯區域性不兼容(例如,當選定的日歷不是?OptionalCalendars?指示的日歷之一時),則這些方法的結果和屬性值是不確定的。

在 .NET Framework 2.0 版之前的版本中,如果?CultureInfo?.UseUserOverride?屬性設置為?true,該對象只有在首次被訪問時才會讀取可被用戶重寫的每個屬性。?由于?DateTimeFormatInfo?具有多個可被用戶重寫的屬性,因此當出現下列情況時,這種“惰性初始化”可導致這類屬性之間出現不一致:應用程序訪問某個屬性,同時用戶更改為其他區域性或重寫當前用戶區域性的屬性,隨后應用程序訪問另一個屬性。?例如,按照上述順序,可以訪問LongDatePattern。?然后,用戶可以在控制面板中更改模式。在訪問時,?ShortDatePattern?將遵循新的設置。?當用戶選擇其他用戶區域性而不是只重寫某個特定模式時,也會發生類似的不一致。

在 .NET Framework 2.0 版和更高版本中,?DateTimeFormatInfo?不使用上述“惰性初始化”。而是在其創建時讀取所有的用戶可重寫屬性。?由于對象創建和用戶重寫過程都不是原子操作,并且相關值在對象創建過程中可能會發生更改,因此漏洞在小范圍內仍然存在。但是,這種情況應該十分少見。

這種更改在序列化情況下尤為重要。.NET Framework 2.0 版和更高版本將保留所有可重寫的設置,而不是僅保留執行序列化時所訪問的可重寫設置。

應用程序可通過設置可寫?DateTimeFormatInfo?對象的關聯屬性來將標準模式替換為自定義模式。?若要確定?DateTimeFormatInfo?對象是否可寫,應用程序應使用?IsReadOnly?屬性。

下表列出了與?DateTimeFormatInfo?屬性關聯的標準?DateTime?格式模式。?有關更多信息,請參見?標準日期和時間格式字符串。

格式模式

關聯屬性/說明

d

ShortDatePattern

D

LongDatePattern

f

完整日期和時間(長日期和短時間)

F

FullDateTimePattern(長日期和長時間)

g

常規(短日期和短時間)

G

常規(短日期和長時間)

m、M

MonthDayPattern

o、O

往返日期/時間模式;在這種格式模式下,格式設置或分析操作始終使用固定區域性

r、R

RFC1123Pattern;在這種格式模式下,格式設置或分析操作始終使用固定區域性

s

使用本地時間的?SortableDateTimePattern(基于 ISO 8601);在這種格式模式下,格式設置或分析操作始終使用固定區域性

t

ShortTimePattern

T

LongTimePattern

u

使用通用時間顯示格式的?UniversalSortableDateTimePattern;在這種格式模式下,格式設置或分析操作始終使用固定區域性

U

使用通用時間的完整日期和時間(長日期和長時間)

y、Y

YearMonthPattern

下表列出了自定義?DateTime?格式模式及其行為。?有關更多信息,請參見?自定義日期和時間格式字符串。

格式模式

說明

d、%d

月中的某一天。一位數的日期沒有前導零。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%d”。

dd

月中的某一天。一位數的天有一個前導零。

ddd

周中某天的縮寫名稱,在?AbbreviatedDayNames?中定義。

dddd

周中某天的完整名稱,在?DayNames?中定義。

f、%f

秒的小數精度為一位。其余數字被截斷。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%f”。

ff

秒的小數精度為兩位。其余數字被截斷。

fff

秒的小數精度為三位。其余數字被截斷。

ffff

秒的小數精度為四位。其余數字被截斷。

fffff

秒的小數精度為五位。其余數字被截斷。

ffffff

秒的小數精度為六位。其余數字被截斷。

fffffff

秒的小數精度為七位。其余數字被截斷。

F、%F

顯示秒的小數部分的最高有效數字。如果該數字為零,則不顯示任何內容。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%F”。

FF

顯示秒的小數部分的兩個最高有效數字。但是,不顯示尾隨的零(兩個零數字)。

FFF

顯示秒的小數部分的三個最高有效數字。但是,不顯示尾隨的零(三個零數字)。

FFFF

顯示秒的小數部分的四個最高有效數字。但是,不顯示尾隨的零(四個零數字)。

FFFFF

顯示秒的小數部分的五個最高有效數字。但是,不顯示尾隨的零(五個零數字)。

FFFFFF

顯示秒的小數部分的六個最高有效數字。但是,不顯示尾隨的零(六個零數字)。

FFFFFFF

顯示秒的小數部分的七個最高有效數字。但是,不顯示尾隨的零(七個零數字)。

gg

時期或紀元。如果要設置格式的日期不具有關聯的時期或紀元字符串,則忽略該模式。

h、%h

12 小時制的小時。一位數的小時數沒有前導零。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%h”。

hh

12 小時制的小時。一位數的小時有一個前導零。

H、%H

24 小時制的小時。一位數的小時數沒有前導零。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%H”。

HH

24 小時制的小時。一位數的小時有一個前導零。

K

Kind?屬性的不同值,即本地、Utc 或未指定。

m、%m

分鐘。一位數的分鐘數沒有前導零。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%m”。

mm

分鐘。一位數的分鐘有一個前導零。

M、%M

月份數字。一位數的月份沒有前導零。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%M”。

MM

月份數字。一位數的月份有一個前導零。

MMM

月份的縮寫名稱,在?AbbreviatedMonthNames?中定義。

MMMM

月份的完整名稱,在?MonthNames?中定義。

s、%s

秒。一位數的秒數沒有前導零。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%s”。

ss

秒。一位數的秒有一個前導零。

t、%t

在?AMDesignator?或?PMDesignator?中定義的 AM/PM 指示項的第一個字符(如果存在)。?如果此格式模式沒有與其他格式模式組合,應用程序將指定“%t”。

tt

在?AMDesignator?或?PMDesignator?中定義的 AM/PM 指示項(如果存在)。?對于需要維護 AM 與 PM 之間的差異的語言,應用程序應使用此格式模式。以日語為例,其 AM 和 PM 指示符的差異點為第二個字符,而非第一個字符。

y、%y

不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示不具有前導零的年份。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%y”。

yy

不包含紀元的年份。如果不包含紀元的年份小于 10,則顯示具有前導零的年份。

yyy

三位數的年份。如果年份小于 100,則會以帶前導零的方式顯示。

yyyy

包括紀元的四位或五位數的年份(取決于所使用的日歷)。對于不夠四位數的年份,將使用前導零填充。泰國佛歷和朝鮮歷采用五位數的年份。對于具有五位數的日歷,選擇“yyyy”模式的用戶將看到不帶前導零的所有這五位數。例外情況:對于日本歷和臺灣日歷,其行為始終都像是用戶選擇了“yy”。

yyyyy

五位數的年份。對于不夠五位數的年份,將使用前導零填充。例外情況:對于日本歷和臺灣日歷,其行為始終都像是用戶選擇了“yy”。

yyyyyy

六位數的年份。對于不夠六位數的年份,將使用前導零填充。例外情況:對于日本歷和臺灣日歷,其行為始終都像是用戶選擇了“yy”。此模式可不斷續加“y”,從而形成一個更長的字符串,這時將需要使用更多的前導零。

z、%z

時區偏移量(“+”或“-”后面僅跟小時)。一位數的小時數沒有前導零。例如,太平洋標準時間是“-8”。如果此格式模式沒有與其他格式模式組合,應用程序將指定“%z”。

zz

時區偏移量(“+”或“-”后面僅跟小時)。一位數的小時有一個前導零。例如,太平洋標準時間是“-08”。

zzz

完整時區偏移量(“+”或“-”后面跟有小時和分鐘)。一位數的小時數和分鐘數有前導零。例如,太平洋標準時間是“-08:00”。

:

在?TimeSeparator?中定義的默認時間分隔符。

/

在?DateSeparator?中定義的默認日期分隔符。

%?c

其中?c?是格式模式(如果單獨使用)。?若要使用格式模式“d”、“f”、“F”、“h”、“m”、“s”、“t”、“y”、“z”、“H”、或“M”本身,應用程序應指定“%d”、“%f”、“%F”、“%h”、“%m”、“%s”、“%t”、“%y”、“%z”、“%H”或“%M”。

如果格式模式與原義字符或其他格式模式合并,則可以省略“%”字符。

\?c

其中?c?是任意字符。?照原義顯示字符。若要顯示反斜杠字符,應用程序應使用“\\”。

只有上面第二個表中列出的格式模式可用于創建自定義模式。第一個表中列出的標準格式模式只用于創建標準模式。自定義模式的長度至少為兩個字符,例如:

  • DateTime.ToString("d")?返回?DateTime?值;“d”是標準短日期模式。

  • DateTime.ToString("%d")?返回月中的某天;“%d”是自定義模式。

  • DateTime.ToString("d ")?返回月中的某天,并在其后面跟有一個空白字符;“d ”是自定義模式。

應用程序只能為固定區域性或特定區域性創建?DateTimeFormatInfo?對象或?NumberFormatInfo?對象,但不能為非特定區域性創建這些對象。?有關固定區域性、特定區域性和非特定區域性的更多信息,請參見?CultureInfo?類。

該類實現?ICloneable?接口以啟用?DateTimeFormatInfo?對象的復制。?它還實現?IFormatProvider?以便為應用程序提供格式化信息。

示例

下面的代碼示例將輸出 en-US 區域性的不同格式模式。它還會顯示與這些格式模式關聯的屬性值。

VB C# C++ F# JScript 打印 using System; using System.Globalization;public class SamplesDTFI {public static void Main() {// Creates and initializes a DateTimeFormatInfo associated with the en-US culture.DateTimeFormatInfo myDTFI = new CultureInfo( "en-US", false ).DateTimeFormat;// Creates a DateTime with the Gregorian date January 3, 2002 (year=2002, month=1, day=3).// The Gregorian calendar is the default calendar for the en-US culture.DateTime myDT = new DateTime( 2002, 1, 3 );// Displays the format pattern associated with each format character.Console.WriteLine( "FORMAT en-US EXAMPLE" );Console.WriteLine( "CHAR VALUE OF ASSOCIATED PROPERTY, IF ANY\n" );Console.WriteLine( " d {0}", myDT.ToString("d", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.ShortDatePattern, "(ShortDatePattern)" );Console.WriteLine( " D {0}", myDT.ToString("D", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.LongDatePattern, "(LongDatePattern)" );Console.WriteLine( " f {0}\n", myDT.ToString("f", myDTFI) );Console.WriteLine( " F {0}", myDT.ToString("F", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.FullDateTimePattern, "(FullDateTimePattern)" );Console.WriteLine( " g {0}\n", myDT.ToString("g", myDTFI) );Console.WriteLine( " G {0}\n", myDT.ToString("G", myDTFI) );Console.WriteLine( " m {0}", myDT.ToString("m", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );Console.WriteLine( " M {0}", myDT.ToString("M", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.MonthDayPattern, "(MonthDayPattern)" );Console.WriteLine( " o {0}\n", myDT.ToString("o", myDTFI) );Console.WriteLine( " r {0}", myDT.ToString("r", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );Console.WriteLine( " R {0}", myDT.ToString("R", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.RFC1123Pattern, "(RFC1123Pattern)" );Console.WriteLine( " s {0}", myDT.ToString("s", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.SortableDateTimePattern, "(SortableDateTimePattern)" );Console.WriteLine( " t {0}", myDT.ToString("t", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.ShortTimePattern, "(ShortTimePattern)" );Console.WriteLine( " T {0}", myDT.ToString("T", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.LongTimePattern, "(LongTimePattern)" );Console.WriteLine( " u {0}", myDT.ToString("u", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.UniversalSortableDateTimePattern, "(UniversalSortableDateTimePattern)" );Console.WriteLine( " U {0}\n", myDT.ToString("U", myDTFI) );Console.WriteLine( " y {0}", myDT.ToString("y", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );Console.WriteLine( " Y {0}", myDT.ToString("Y", myDTFI) );Console.WriteLine( " {0} {1}\n", myDTFI.YearMonthPattern, "(YearMonthPattern)" );}}/* This code produces the following output.FORMAT en-US EXAMPLE CHAR VALUE OF ASSOCIATED PROPERTY, IF ANYd 1/3/2002M/d/yyyy (ShortDatePattern)D Thursday, January 03, 2002dddd, MMMM dd, yyyy (LongDatePattern)f Thursday, January 03, 2002 12:00 AMF Thursday, January 03, 2002 12:00:00 AMdddd, MMMM dd, yyyy h:mm:ss tt (FullDateTimePattern)g 1/3/2002 12:00 AMG 1/3/2002 12:00:00 AMm January 03MMMM dd (MonthDayPattern)M January 03MMMM dd (MonthDayPattern)o 2002-01-03T00:00:00.0000000r Thu, 03 Jan 2002 00:00:00 GMTddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)R Thu, 03 Jan 2002 00:00:00 GMTddd, dd MMM yyyy HH':'mm':'ss 'GMT' (RFC1123Pattern)s 2002-01-03T00:00:00yyyy'-'MM'-'dd'T'HH':'mm':'ss (SortableDateTimePattern)t 12:00 AMh:mm tt (ShortTimePattern)T 12:00:00 AMh:mm:ss tt (LongTimePattern)u 2002-01-03 00:00:00Zyyyy'-'MM'-'dd HH':'mm':'ss'Z' (UniversalSortableDateTimePattern)U Thursday, January 03, 2002 8:00:00 AMy January, 2002MMMM, yyyy (YearMonthPattern)Y January, 2002MMMM, yyyy (YearMonthPattern)*/ 繼承層次結構 System?.Object?
??? System.Globalization?.DateTimeFormatInfo?
線程安全 此類型的任何公共? static (在 Visual Basic 中為? Shared ) 成員都是線程安全的。但不保證所有實例成員都是線程安全的。 平臺

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows?Millennium Edition, Windows 98, Xbox 360, Zune

.NET Framework 和 .NET Compact Framework 并不是對每個平臺的所有版本都提供支持。有關支持的版本的列表,請參見?.NET Framework 系統要求。 版本信息

.NET Framework

受以下版本支持:4、3.5、3.0、2.0、1.1、1.0?

.NET Framework Client Profile

受以下版本支持:4?

XNA Framework

受以下版本支持:3.0、2.0、1.0?
請參見

參考

DateTimeFormatInfo 成員 System.Globalization 命名空間 DateTime Calendar CultureInfo

其他資源

格式化類型 標準日期和時間格式字符串 自定義日期和時間格式字符串

總結

以上是生活随笔為你收集整理的DateTimeFormatInfo 类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。