Co vrací metody DateTime ToString()

Pokud máte ve Windows/na serveru nastaveno zobrazení data, času, měny a čísel ala USA, vrátí vám níže uvedené metody toto:
ToLongDateString(): Friday, July 27, 2012
ToLongTimeString(): 9:26:49 AM
ToShortDateString(): 7/27/2012
ToShortTimeString(): 9:26 AM
ToString(): 7/27/2012 9:26:49 AM

Pokud české / Česká republika, tak toto(je zde delší posun času, protože jsem musel udělat reset PC):

ToLongDateString(): 27. července 2012
ToLongTimeString(): 9:46:17
ToShortDateString(): 27.7.2012
ToShortTimeString(): 9:46
ToString(): 27.7.2012 9:46:17

Datum můžete zobrazit metodou ToString() i jinak než je nastaveno zobrazení času ve Windows. Konkrétně takto(pokud nevíte zkratku jazyku, podívejte se třeba na 👻 Tutoriál na sharpertutorials.com je nenávratně pryč.):

C#
dt.ToString(CultureInfo.GetCultureInfoByIetfLanguageTag("en-us"));

Pokud chcete datum zobrazit v libovolném formátu, není třeba to skládat nějak takto:

C#
public static string UsaDateTimeToString(DateTime d)
{
    return d.Month + "/" + d.Day + "/" + d.Year + " " + d.Hour + ":" + d.Minute + ":" + d.Second;// +":" + miliseconds;
}

Jednoduše stačí zavolat metodu takto:

C#
dt.ToString("MM/dd/yyyy hh:mm:ss");

Pokud zadáte oba dva parametry metody ToString, „zvítězí“ parametr string nad IFormatProvider:

C#
dt.ToString("MM/dd/yyyy hh:mm:ss", CultureInfo.GetCultureInfoByIetfLanguageTag("cs-cz");

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *