Mai mult
Convert java.util.Data la String
Vreau să converti o java.util.Data
obiect la un "String" în Java.
Formatul este 2010-05-30 22:15:52
394
18
Converti un Data sa o String utilizarea
DateFormat#format
metoda:Din http://www.kodejava.org/examples/86.html
Commons-lang DateFormatUtils este plin de bunatati (dacă aveți commons-lang în classpath)
tl;dr
java.timp
Modul modern este cu java.timpul clase care acum înlocui supărătoare veche moștenire data de clase.
Prima converti
java.util.Data
la oInstant
. AInstant
clasa reprezinta un moment pe cronologie în UTC cu o rezoluție de nanosecunde (până la nouă (9) cifre de fracție zecimală).Conversii de la/la java.timp sunt efectuate de către noi metode de adăugat la vechile clase.
Ambele java.util.Data " și " java.timp.Instant sunt în UTC. Dacă doriți pentru a vedea data si ora UTC, așa să fie. Sun
toString
pentru a genera un Șir de caractere în standard ISO 8601 format.Pentru alte formate, aveți nevoie pentru a transforma "Instant" în mai flexibil
OffsetDateTime
.Pentru a obține un Șir de caractere în formatul dorit, specificați o
DateTimeFormatter
. Ai putea specifica un format personalizat. Dar mi-ar folosi unul dintre cele predefinite formatters (ISO_LOCAL_DATE_TIME
), și înlocuiți " T " în producția cu un SPAȚIU.Apropo eu nu recomand acest tip de format în cazul în care ați intenționat pierde offset-de-UTC sau informațiile de fus orar. Creează ambiguitate în ceea ce privește sensul că șirul este data de valoarea în timp.
De asemenea, feriți-vă de pierdere de date, ca orice fracționată a doua este ignorat (efectiv redus) în Șirul de reprezentare de la data-valoarea în timp.
Pentru a vedea același moment, prin prisma unor anumite regiuni de perete-ceas de timp, se aplică o
ZoneId
pentru a obține o ZonedDateTime`.Pentru a genera un String formatat, face la fel ca mai sus, dar a înlocui
odt " cu " zdt
.Dacă a executa acest cod un număr foarte mare de ori, poate doriți să fie un pic mai eficientă și pentru a evita apelul la
String::înlocuiți
. Renunțarea la acel apel, de asemenea, face codul mai scurt. Dacă se dorește, specifica propriul model de formatare în propriaDateTimeFormatter
obiect. Cache-ul asta de exemplu, ca o constantă sau membru pentru reutilizare.Aplica formatare prin trecerea exemplu.
Despre java.timp
De java.time cadrul este construit în Java 8 și mai târziu. Aceste clase înlocui supărătoare vechi data de clase, cum ar fi
java.util.Data
,.Calendar
, &java.text.SimpleDateFormat
.De Joda-Time, proiect, acum în modul de întreținere, sfătuiește migrarea la java.timp.
Pentru a afla mai multe, consultați Oracle Tutorial. Și de căutare Stack Overflow pentru mai multe exemple și explicații.
Mult de java.timp de funcționalitate este adaptată pentru Java 6 & 7 în ThreeTen-Backport și, de asemenea, adaptate la Android în ThreeTenABP (vezi Cum să utilizați...).
De ThreeTen-Extra proiectul se extinde java.timp cu clase suplimentare. Acest proiect este un teren de testare pentru posibile viitoare completări la java.timp.
Altenativa unul-garnituri în plain old java:
De ce nu't utilizați Joda (org.joda.timp.DateTime)? L's, practic un one-liner.
Se pare că sunteți în căutarea pentru SimpleDateFormat.
Format: yyyy-MM-dd kk:mm:ss
În împușcat singur ;)
Pentru a obține Data
Pentru a obține Timp
Pentru a obține data și ora
Codificare fericit :)
Dacă aveți nevoie doar de timp de la data, puteți folosi doar funcția de Șir.
Acest lucru va reduce în mod automat timp parte din Șir și salvați-l în interiorul
timeString
.Cel mai simplu mod de a utiliza, este după cum urmează:
în cazul în care "aaaa-LL-zz'T'HH:mm:ss" este format de lectură data
ieșire: Sun Apr 14 16:11:48 EEST 2013
Note: HH vs hh
Aici sunt exemple de utilizarea de noi Java 8 Data API pentru a formata legacy `java.util.Data:
Este frumos despre DateTimeFormatter
care poate fi eficient în cache cum este thread-safe (spre deosebire de
SimpleDateFormat`).Listă predefinită fomatters și model notație de referință.
Credite:
https://stackoverflow.com/questions/22463062/how-to-parse-format-dates-with-localdatetime-java-8
https://stackoverflow.com/questions/25376242/java8-java-util-date-conversion-to-java-time-zoneddatetime
https://stackoverflow.com/questions/25229124/format-instant-to-string
https://stackoverflow.com/questions/30234594/whats-the-difference-between-java-8-zoneddatetime-and-offsetdatetime
Încercați acest lucru,
Ieșire:
Pentru mai multe detalii privind data și ora de formatare în java consultați linkurile de mai jos
Oracle Centrul De Ajutor
Data exemplu in java
Las's încercați acest
Sau o funcție de utilitate
De la Data Conversia la String in Java
O opțiune de Linie
Această opțiune devine o ușoară cu o singură linie pentru a scrie data efectivă.