7
Jan

Zjištění 12h nebo 24h formátu???

Zdá se, že soudruzi někde udělali chybu. Pokoušel jsem se zjistit, jestli daná culture používá 12h nebo 24h formát. Ale kde nic, tu nic – žádná chytrá property. Takže jedině hackovat, porovnávat všelijak nehezky stringy pro hodiny.

Nebo jsem něco přehlédl (a další dva vývojáři)?

There's 7 Comments So Far

  • CW
    January 8th, 2009 at 23:18

    Pokud to v .NET-u není, pak asi jedině interop na GetLocaleInfo(…) a LOCALE_ITIME konstantu. Nicméně nezkoušel jsem to.

  • vlko
    January 8th, 2009 at 23:32

    Nestacilo by checknut ci je nejaka hodnota v CultureInfo.DateTimeFormat.AMDesignator alebo PMDesignator?Ale to je len predpoklad, ze maju podporu, inak uplne staci checknut ci hocijaky pattern s time v nazve v DateTimeFormat konci na “tt”

  • cincura.net
    January 8th, 2009 at 23:36

    Bohuzel nestacilo. AMDesignator vraci pro cechy napr. “dop.”, takze z toho prd poznam. :( Puvodne jsem taky myslel, ze by pro 24h locales mohl byt prazdny, jenze … Stejne je to s “tt”.

  • vlko
    January 8th, 2009 at 23:48

    tak potom by malo stacit .Contains(“h”) == 12 h format

  • A
    January 9th, 2009 at 12:40

    A nestačilo by si vygenerovat time objekt s hodnotou času např. 22:00, nechat to vyrenrderovat do stringu s defaultním nastavením a podívat se, zda je ve stringu text “10″ nebo “22″? :-)

  • Pavel
    January 9th, 2009 at 14:42

    Tak mělo by stačit toto, pokud se bavíme o net.DateTimeFormatInfo.CurrentInfo.LongTimePattern.Contains(‘h’)DateTimeFormatInfo.CurrentInfo.ShortTimePattern.Contains(‘h’)pripadně další patternz.. jako FullDateTimePattern a pod.Pokud je tam malé ‘h’, pak je 12h. v případě velkého ‘H’ je formát 24hod.

  • cincura.net
    January 22nd, 2009 at 00:20

    Jasny, vim jak to vyresit. Vsechny napady dobry. Moznosti je plno. Jen jsem byl prekvapen, ze zadna takova handy property neni.

Share your thoughts, leave a comment!