Mitä ovat alueelliset päivämäärä- ja aikamuodot?

Alueelliset päivämäärä- ja aikamuodot ovat sääntöjä, joita laitteesi ja selaimesi käyttävät päivämäärien, kellonaikojen, viikkorakenteiden ja numeroiden näyttämiseen. Nämä säännöt riippuvat locale-asetuksista, kuten kielestä ja alueesta (esimerkiksi en-US, en-GB, de-DE tai fr-FR). Sama hetki voi näyttää hyvin erilaiselta näiden asetusten mukaan.

Yleinen esimerkki on kellotyylit: joillakin alueilla suositaan 24 tunnin kelloa (14:30), kun taas toisilla käytetään 12 tunnin kelloa AM/PM-merkinnällä (2:30 PM). Myös päivämäärän järjestys vaihtelee alueittain, esimerkiksi kuukausi-päivä-vuosi (11/23/2026) vs. päivä-kuukausi-vuosi (23/11/2026). Viikkokäytännöt voivat myös erota toisistaan, kuten se, alkaako viikko sunnuntaista vai maanantaista.

Nykyaikaiset selaimet paljastavat suuren osan tästä tiedosta JavaScript Internationalization API:n (Intl) kautta. Tämän avulla on mahdollista havaita, miten käyttäjän ympäristö odottaa päivämäärä/aika- ja numeeristen arvojen näkyvän, mikä on hyödyllistä käyttäjäystävällisten käyttöliittymien, aikataulutyökalujen, lokalisointitarkistusten ja QA-testauksen kannalta.

Työkalun kuvaus

Locale Format Detector lukee selaimesi ja järjestelmäsi alueelliset asetukset ja kokoaa ne yhteen paikkaan. Se auttaa tunnistamaan asetuksia, kuten 12 tai 24 tunnin aikamuodon, tuntisyklin, päivämäärän järjestyksen, viikon ensimmäisen päivän, viikonlopun päivät, aikavyöhykkeen, kalenterijärjestelmän, numerointijärjestelmän ja numeeristen arvojen erottimet.

Työkalu toimii paikallisesti selaimessa eikä vaadi manuaalista syötettä. Se on erityisen hyödyllinen lokalisointikäyttäytymisen debuggauksessa, kansainvälisen UX:n validoinnissa tai sen tarkistamisessa, miten käyttäjän ympäristö muotoilee päivämäärä/aika- ja numerotulosteen.

Esimerkkejä

  • Yhdysvaltalainen englanninkielinen ympäristö (en-US)

    • Kellon muoto: 12 tuntia (AM/PM)
    • Päivämäärän järjestys: KUUKAUSI-PÄIVÄ-VUOSI
    • Viikko alkaa: Sunnuntaista
    • Esimerkkiaika: 2:30 PM
  • Saksalainen ympäristö (de-DE)

    • Kellon muoto: 24 tuntia
    • Päivämäärän järjestys: PÄIVÄ-KUUKAUSI-VUOSI
    • Viikko alkaa: Maanantaista
    • Esimerkkiaika: 14:30
  • Ranskalainen ympäristö (fr-FR)

    • Desimaalierotin: ,
    • Tuhaterottaja: välilyönti tai kapea sitomaton välilyönti (vaihtelee selaimesta/alustasta riippuen)
    • Numerointijärjestelmä: yleensä latn

Ominaisuudet

  • Tunnistaa selaimen locale-asetuksen ja ensisijaisten locale-asetusten listan
  • Tunnistaa aikapreferenssit (12h/24h, tuntisykli, nykyinen aikaesimerkki)
  • Näyttää kalenterikäytännöt (päivämäärän järjestys, viikon aloituspäivä, viikonlopun päivät, ensimmäisen viikon vähimmäispäivät)
  • Näyttää alueelliset metatiedot (aikavyöhyke, kalenterijärjestelmä, numerointijärjestelmä)
  • Paljastaa numeerisen muotoilun säännöt (desimaali- ja tuhaterottimet)

Käyttötapaukset

  • Lokalisoinnin QA: Varmista, että käyttöliittymän muotoilu vastaa käyttäjän alueellisia odotuksia ennen julkaisua.
  • Tuki ja debuggaus: Diagnosoi nopeasti käyttäjien raportoimat päivämäärä/aika-näyttöerot eri alueiden välillä.
  • Kansainvälinen tuotekehitys: Vahvista runtime-locale-käyttäytyminen aikataulutus-, raportointi- ja datanäyttöominaisuuksille.

Kuinka se toimii

Työkalu käyttää selaimen Intl.DateTimeFormat-, Intl.NumberFormat- ja Intl.Locale-API:ja lukeakseen ratkaistut locale-asetukset. Sen jälkeen se muotoilee tunnetun päivämäärän/ajan ja numeron päätellääkseen näyttökäytännöt, kuten päivämäärän osien järjestyksen ja erottimet.

Jotkin arvot voivat vaihdella hieman selainversion, käyttöjärjestelmän ja saatavilla olevan locale-datan mukaan. Jos tietty alueellinen ominaisuus ei ole saatavilla nykyisessä ympäristössä, työkalu näyttää sen tuntemattomana.

Rajoitukset

  • Tulokset heijastavat selaimen/runtimen käyttäytymistä, joka voi erota palvelinpuolen lokalisointikirjastoista.
  • Tiettyjä ominaisuuksia (kuten viikkotiedot) ei välttämättä tueta vanhemmissa selainmoottoreissa.
  • Muotoilutuloste voi erota hienovaraisesti eri alustojen välillä, vaikka locale-tunniste olisi sama.