Siirry pääsisältöön

DateTimeField

Avaa ChatGPT:ssä
Varjo dwc-field 23.02
Java API

DateTimeField-komponentti antaa käyttäjien syöttää sekä päivämäärän että ajan yhdellä kentällä, kattaen vuoden, kuukauden, päivän, tunnit ja minuutit. Se validoi syötteen tarkkuuden ja voi esittää päivämäärä-aikavalitsin valinnan helpottamiseksi.

Käyttäminen DateTimeField

Inheritance

This class is a Field component, and inherits its features and behaviors. For an overview of Field properties, events, and other important information, please refer to the Field documentation.

DateTimeField laajentaa jaettua Field-luokkaa, joka tarjoaa yhteisiä ominaisuuksia kaikille kenttäkomponenteille. Seuraava esimerkki luo nimetty DateTimeField-kentän lähtöpäivämäärän ja -ajan valitsemiseksi.

Näytä koodi

Käytännöt

DateTimeField on parhaiten käytössä tilanteissa, joissa sekä päivämäärän että ajan tavoittaminen tai näyttäminen on olennaista sovelluksellesi. Tässä on joitakin esimerkkejä siitä, milloin käyttää DateTimeField:iä:

  1. Tapahtumien aikatauluttaminen ja kalenterit: Anna käyttäjien aikatauluttaa tapahtumia, varata aikaisia ja hallita kalentereitaan tehokkaasti antamalla heille yksi komponentti, joka sallii päivämäärän ja ajan valinnan.
  1. Sisään- ja uloskirjautuminen: Helpota käyttäjän sisään- ja uloskirjautumisaikojen valintaa, kun ajanjakso voi kestää useita päiviä.
  1. Datan lokitus ja aikaleimat: Hyödynnä DateTimeField-kenttiä sovelluksissa, jotka liittyvät tapahtumien tai käyttäjän syöttämien tietojen päivämäärän ja ajan tallentamiseen.

  2. Tehtävien hallinta ja määräajat: DateTimeField-kentät ovat arvokkaita sovelluksissa, jotka liittyvät tehtävien hallintaan tai määräaikojen asettamiseen, joissa sekä päivämäärä että aika ovat tärkeitä tarkan aikataulutuksen kannalta.

Kenttäarvo (LocalDateTime)

Sisäisesti DateTimeField-komponentti edustaa arvoaan käyttäen LocalDateTime-objektia java.time-paketista. Tämä tarjoaa tarkan hallinnan sekä syötteen päivämäärä- että aikojaosien osalta.

Kun asiakkaan puolen arvo esitetään käyttäjän selainlokkaus (esim. päivämäärä- ja aikatavat, jotka vastaavat paikallisia käytäntöjä), jäljitetty arvo noudattaa tiukkaa ja ennustettavaa rakennetta: yyyy-MM-ddTHH:mm:ss.

Arvon saaminen ja asettaminen

Hanki nykyinen arvo käyttämällä getValue()-menetelmää:

LocalDateTime value = dateTimeField.getValue();

Aseta ohjelmallisesti arvo käyttämällä setValue()-menetelmää:

dateTimeField.setValue(LocalDateTime.of(2024, 4, 27, 14, 30, 0));

Käyttäminen setText()

Jos haluat asettaa arvon raakatekstin avulla, sen on noudatettava tarkkaa muotoa yyyy-MM-ddTHH:mm:ss.

dateTimeField.setText("2024-04-27T14:30:00"); // kelvollinen

dateTimeField.setText("24-04-27T14:30:00"); // kelvoton
varoitus

Kun käytät setText()-menetelmää, jos komponentti ei voi jäsentää syötteitä muodossa yyyy-MM-ddTHH:mm:ss, heitetään IllegalArgumentException.

Staattiset työkalut

DateTimeField-luokka tarjoaa myös seuraavat staattiset utiliteetti-metodit:

  • fromDateTime(String dateTimeAsString): Muuntaa päivämäärä- ja aikatiedoston merkkijonon muodossa yyyy-MM-ddTHH:mm:ss LocalDateTime-objektiksi, jota voidaan sitten käyttää tämän luokan kanssa tai muualla.

  • toDateTime(LocalDateTime dateTime): Muuntaa LocalDateTime-objektin päivämäärä- ja aikamerkkijonoksi muodossa yyyy-MM-ddTHH:mm:ss.

  • isValidDateTime(String dateTimeAsString): Tarkistaa, onko annettu merkkijono kelvollinen yyyy-MM-ddTHH:mm:ss-päivämäärä ja aika. Tämä palauttaa totuusarvon true, jos näin on, muuten false.

Minimi ja maksimiarvo

Minimiväriarvo

Jos komponenttiin syötetty arvo on aikaisempi kuin määritetty minimiaikaleima, komponentti epäonnistuu rajoitteen validoinnissa. Kun sekä minimi- että maksimiarvot on asetettu, minimiväriarvon on oltava aikaleima, joka on sama tai aikaisempi kuin maksimiväriarvo.

// Aseta sallittu minimiaikaleima: 1. tammikuuta 2023 klo 08:00
dateTimeField.setMin(LocalDateTime.of(2023, 1, 1, 8, 0));

Maksimiväriarvo

Jos komponenttiin syötetty arvo on myöhempi kuin määritetty maksimiaikaleima, komponentti epäonnistuu rajoitteen validoinnissa. Kun sekä minimi- että maksimiarvot on asetettu, maksimiväriarvon on oltava aikaleima, joka on sama tai myöhempi kuin minimiväriarvo.

// Aseta sallittu maksimiaikaleima: 31. joulukuuta 2023 klo 18:00
dateTimeField.setMax(LocalDateTime.of(2023, 12, 31, 18, 0));

Parhaat käytännöt

Jotta voit varmistaa optimaalisen käyttäjäkokemuksen käyttäessäsi DateTimeField-komponenttia, harkitse seuraavia parhaita käytäntöjä:

  • Paikallinen päivämääränäyttö: Paikallisten päivämäärämuotojen ja alueellisten mieltymysten huomioiminen varmistaa, että päivämäärät esitetään käyttäjälle tutussa muodossa.

  • Aikavyöhykkeet: Jos sovelluksesi käsittelee aikaherkkää tietoa eri aikavyöhykkeillä, harkitse aikavyöhykkeen valinnan lisäämistä päivämääräkentän yhteyteen varmistaaksesi tarkan päivämäärä-ja aik esityksen.

  • Saavutettavuus: Hyödynnä DateTimeField-komponenttia saavutettavuus huomioon ottaen. Varmista, että se täyttää saavutettavuusstandardit, kuten että tarjoat asianmukaiset etikettit ja se on yhteensopiva avustavien teknologioiden kanssa.

  • Nykyisen päivämäärän automaattinen täyttö: Harkitse mahdollisuuden tarjoamista nykyisen päivämäärän ja ajan automaattiseen täyttämiseen oletusarvoksi päivämäärä- ja aikakentässä, jos se on sovelluksesi käyttötapaukselle sopivaa.