C# - A DateTimeFormatInfo osztály bemutatása

forráskód letöltése
Ebben a cikkben a .NET System.Globalization névterében található DateTimeFormatInfo osztály lehetőségeit vesszük számba. A jellemzők ismertetésekor végignézzük property-jeit, azok lehetséges értékeit, valamint egy példán keresztül azok gyakorlati felhasználásának módját.
A .NET készítői a System.Globalization névtérbe rendezték azokat osztályokat, melyek a kultúrához kötődő, nyelvi, orzság/régió- vagy naptárinformációkat rendszereznek, illetve azokat, melyek meghatározzák, hogy az adott típusokat hogyan formázhatjuk.
A DateTimeFormatInfo osztály lehetővé teszi a dátum típusú értékek formázását és megjelenítését attól függően, hogy milyen kultúrával kapcsolatos információkat adtunk meg paraméterként. Általánosságban elmondható, hogy az alapvető formázókarakterek használatát egészíti ki.
Az osztály lehetőségei szinte végtelenek, melyeket property-jein keresztül lehet kihasználni, így a bemutatáskor is erre szorítkozunk. A property-k rendkívül változatosak, megadhatók velük megjelenítési formák, elnevezések és még sok egyéb. Lássuk ezeket részletesen:
CurrentInfo
Osztály: DateTimeFormatInfo
public static DateTimeFormatInfo CurrentInfo {get;}
Visszaad egy csak olvasható példányt az adott osztályból, melynek property-jei a CultureInfo osztályban megadott tulajdonságokkal rendelkeznek, az aktuális kultúrára információkkal feltöltve.
InvariantInfo
Osztály: DateTimeFormatInfo
public static DateTimeFormatInfo InvariantInfo {get;}
Visszaad egy csak olvasható példányt az adott osztályból, melynek property-jei kultúra független információkat tartalmaznak.
AbbreviatedDayNames
Osztály: DateTimeFormatInfo
public string[] AbbreviatedDayNames {get; set;}
Egy egy-dimenziós sztring tömb, mely tartalmazza a napok neveinek rövidített változatát. Kötelezően 7 elemet tartalmaz, alapértelmezett értékei "Sun", "Mon", "Tue", "Wed", "Thu", "Fri" és "Sat".
AbbreviatedMonthNames
Osztály: DateTimeFormatInfo
public string[] AbbreviatedMonthNames {get; set;}
Egy egy-dimenziós sztring tömb, mely tartalmazza a hónapok neveinek rövidített változatát. Kötelezően 13 elemet tartalmaz, a 13. elem egy üres sztring. Alapértelmezett értékei "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" és "".
AMDesignator
Osztály: DateTimeFormatInfo
public string AMDesignator {get; set;}
Megadható az időpontok jelzése 12-órás időszámítás alkalmazásakor, „ante meridiem”. Alapértelmezett értéke „AM”.
Calendar
Osztály: DateTimeFormatInfo
public Calendar Calendar {get; set;}
Megadható, hogy milyen naptár legyen használatban. Alapértelmezett értéke GregorianCalendar.
CalendarWeekRule
Osztály: DateTimeFormatInfo
public CalendarWeekRule CalendarWeekRule {get; set;}
Megadható az év első hete. A visszatérési értéke egy CalendarWeekRule típusú enumerátor, melynek értékei: FirstDay, FirstFourDayWeek, FirstFullWeek.
DateSeparator
Osztály: DateTimeFormatInfo
public string DateSeparator {get; set;}
Megadható a dátum év, hónap és nap értékei közt megtalálható elválasztójel. Alapértelmezett értéke „/”, mely a megadott CultureInfo adattól függ.
DayNames
Osztály: DateTimeFormatInfo
public string[] DayNames {get; set;}
Egy egy-dimenziós sztring tömb, mely tartalmazza a napok neveit. Kötelezően 7 elemet tartalmaz. Alapértelmezett értékei "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" és "Saturday".
FirstDayOfWeek
Osztály: DateTimeFormatInfo
public DayOfWeek FirstDayOfWeek {get; set;}
Megadható az első napja a hétnek. Visszatérési értéke egy DateOfWeek típusú enumerátor, mely a DateTime osztály tagja. Értékei a napok megnevezése angolul, vagyis "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" és "Saturday".
FullDateTimePattern
Osztály: DateTimeFormatInfo
public string FullDateTimePattern {get; set;}
Megadható a dátumérték hosszú formájának mintája. Ilyenkor a dátum hosszú értéke mellett az időpont is hosszú formában szerepel. Alapértelmezett értéke „dddd, dd MMMM yyyy HH:mm:ss”. Összekapcsolódik az „F” formázó karakterrel.
IsReadOnly
Osztály: DateTimeFormatInfo
public bool IsReadOnly {get;}
Lekérdezhető, hogy az adott DateTimeFormatInfo példány csak olvasható-e. Visszatérési értéke true, ha igen és false, ha nem.
LongDatePattern
Osztály: DateTimeFormatInfo
public string LongDatePattern {get; set;}
Megadható a dátumérték hosszú formájának mintája, azonban itt nem jelenik meg az időpont a dátum mellett. Alapértelmezett értéke a „dddd, dd MMMM yyyy”. Összekapcsolódik a „D” formázó karakterrel.
LongTimePattern
Osztály: DateTimeFormatInfo
public string LongTimePattern {get; set;}
Megadható az időpontérték hosszú formájának mintája, azonban itt nem jelenik meg a dátum az időpont előtt. Alapértelmezett értéke a „HH:mm:ss”. Összekapcsolódik a „T” formázó karakterrel.
MonthDayPattern
Osztály: DateTimeFormatInfo
public string MonthDayPattern {get; set;}
Megadható egy minta a csak hónapot és napot megjelenítő dátum esetén. Alapértelmezett értéke a „MMMM dd”. Összekapcsolódik az „m” és a „M” formázó karakterekkel.
MonthNames
Osztály: DateTimeFormatInfo
public string[] MonthNames {get; set;}
Egy egy-dimenziós sztring tömb, mely tartalmazza a hónapok nevei. Kötelezően 13 elemet tartalmaz, a 13. elem egy üres sztring. Alapértelmezett értékei "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" és "".
PMDesignator
Osztály: DateTimeFormatInfo
public string PMDesignator {get; set;}
Megadható az időpontok jelzése 12-órás időszámítás alkalmazásakor, „post meridiem”. Alapértelmezett értéke „PM”.
RFC1123Pattern
Osztály: DateTimeFormatInfo
public string RFC1123Pattern {get;}
Lekérdezhető az a dátumérték minta, mely az Internet Engineering Task Force (IETF) Request for Comments (RFC) 1123 szabványén nyugszik, és összekapcsolódik a „r” és a „R” formázó karakterekkel. Értéke „ddd, dd MMM yyyy HH':'mm':'ss 'GMT'”, mely szintén a kulturális beállításokon alapszik.
ShortDatePattern
Osztály: DateTimeFormatInfo
public string ShortDatePattern {get; set;}
Megadható egy minta az évet, hónapot és napot megjelenítő formára. Alapértelmezett értéke „MM/dd/yyyy”. Összekapcsolódott a „d” formázó karakterrel.
ShortTimePattern
Osztály: DateTimeFormatInfo
public string ShortTimePattern {get; set;}
Megadható egy minta a csak órát, és percet megjelenítő időformára. Alapértelmezett értéke „HH:mm”. Összekapcsolódott a „t” formázó karakterrel.
SortableDateTimePattern
Osztály: DateTimeFormatInfo
public string SortableDateTimePattern {get;}
Lekérdezhető a rendezhető dátum-, és időértéket megjelenítő forma mintája. Értéke „yyyy'-'MM'-'dd'T'HH':'mm':'ss”. Összekapcsolódott az „s” formázó karakterrel.
TimeSeparator
Osztály: DateTimeFormatInfo
public string TimeSeparator {get; set;}
Megadható az idő óra, perc és másodperc értékei közt megtalálható elválasztójel. Alapértelmezett értéke „:”, mely a megadott CultureInfo adattól függ.
UniversalSortableDateTimePattern
Osztály: DateTimeFormatInfo
public string UniversalSortableDateTimePattern {get;}
Lekérdezhető az univerzális, rendezhető dátum-, és időértéket megjelenítő forma mintája. Értéke „yyyy'-'MM'-'dd HH':'mm':'ss'Z'”. Összekapcsolódik a „u” és a „U” formázó karakterekkel.
YearMonthPattern
Osztály: DateTimeFormatInfo
public string YearMonthPattern {get; set;}
Megadható a csak évet és hónapot megjelenítő forma mintája. Alapértelmezett értéke „yyyy MMMM”. Összekapcsolódik az „y” és a „Y” formázó karakterekkel.
A mellékelt alkalmazásban minden formázó karaktert kipróbálhatunk. Ezeket a Form „FormatString” feliratú ComboBox kontroljában választhatjuk, miután kijelöltünk egy formázandó dátumértéket. Amelyik formázókarakterhez nem kapcsolható beállítandó, ott ezt választva a TabControl kontrol lehetőségei le vannak tiltva. Amennyiben választható property, a TabControl megfelelő füle alatt ez a property érték megadható, vagy kiválasztható. Az eredmény a Form középső harmadában elhelyezett keretben jelenik meg.