Je peux convertir un Java.util.Date
en un Java.time.Instant
(Java 8 et versions ultérieures) ainsi:
_Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, 8);
cal.set(Calendar.MINUTE, 30);
Date startTime = cal.getTime();
Instant i = startTime.toInstant();
_
Quelqu'un peut-il m'informer de la conversion de cet instant en date avec un format de date et heure spécifique? c'est à dire 2015-06-02 8:30:00
J'ai traversé api mais je n'ai pas trouvé de réponse satisfaisante.
Si vous voulez convertir un Instant
en un Date
:
Date myDate = Date.from(instant);
Et vous pouvez ensuite utiliser SimpleDateFormat
pour la partie mise en forme de votre question:
SimpleDateFormat formatter = new SimpleDateFormat("dd MM yyyy HH:mm:ss");
String formattedDate = formatter.format(myDate);
Un instant correspond à ce qui est écrit: un instant précis dans le temps - il n’a pas la notion de date et d’heure (l’heure à New York et à Tokyo n’est pas la même à un instant donné).
Pour l’imprimer en tant que date/heure, vous devez d’abord décider du fuseau horaire à utiliser. Par exemple:
System.out.println(LocalDateTime.ofInstant(i, ZoneOffset.UTC));
Ceci imprimera la date/heure au format iso: 2015-06-02T10:15:02.325
Si vous voulez un format différent, vous pouvez utiliser un formateur:
LocalDateTime datetime = LocalDateTime.ofInstant(i, ZoneOffset.UTC);
String formatted = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss").format(datetime);
System.out.println(formatted);
try Analyse et formatage
Prenons un exemple Analyse
String input = ...;
try {
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("MMM d yyyy");
LocalDate date = LocalDate.parse(input, formatter);
System.out.printf("%s%n", date);
}
catch (DateTimeParseException exc) {
System.out.printf("%s is not parsable!%n", input);
throw exc; // Rethrow the exception.
}
Formatage
ZoneId leavingZone = ...;
ZonedDateTime departure = ...;
try {
DateTimeFormatter format = DateTimeFormatter.ofPattern("MMM d yyyy hh:mm a");
String out = departure.format(format);
System.out.printf("LEAVING: %s (%s)%n", out, leavingZone);
}
catch (DateTimeException exc) {
System.out.printf("%s can't be formatted!%n", departure);
throw exc;
}
La sortie de cet exemple, qui affiche à la fois les heures d'arrivée et de départ, est la suivante:
LEAVING: Jul 20 2013 07:30 PM (America/Los_Angeles)
ARRIVING: Jul 21 2013 10:20 PM (Asia/Tokyo)
Pour plus de détails, consultez cette page - https://docs.Oracle.com/javase/tutorial/datetime/iso/format.html