Je veux convertir un objet localTime en un objet Java.SQL.Time.
java.sql.Time time = new java.sql.Time(new LocalTime(1,0,0,0).getMillisOfDay()); System.out.println(time); //20:00:00
4 Réponses :
heure (..) code> Accepte un horodatage à partir de 1970. Vous devez donc passer cela: P>
nouvelle fois (nouveau localtime (...). TodateTimeToday (). GetMillis ()) Code> P>
Je considère que la réponse actuellement acceptée doit être incorrecte. Bien que java.sql.time implique que ses champs de date soient définis sur 1970-1-1, ce n'est pas vrai. Si vous utilisez la conversion
java.sql.Time sqlTime = new java.sql.Time(1,0,0); LocalTime localTime = new LocalTime(sqlTime.getHours(), sqlTime.getMinues(), sqlTime.getSeconds());
L'utilisation de méthodes obsolètes est une mauvaise pratique.
Bien sûr, cela est, mais vous devez savoir quand casser les règles. Ces méthodes obsolètes sont le moyen le plus simple et le plus efficace d'atteindre l'objectif et il n'existe aucun intention de les supprimer de Java dans un avenir prévisible. Franchement, le soleil ne devrait jamais les avoir dépréciés; Le désordre horrible qui les remplace est la raison entière de passer à la mise en œuvre du nettoyeur comme Jodatime.
Cela ressemble à un trou dans l'API de l'heure Joda. En ce moment Cependant, si vous souhaitez éviter les méthodes obsolètes, vous pouvez trouver Durée du 1er janvier 1970: P> getlocalmillis () code> est
protégé code>, mais c'est exactement la méthode que je voudrais utiliser.
LocalTime lt = new LocalTime(1, 23, 45, 678);
long millis = lt.toDateTimeToday().withDate(1970, 1, 1).getMillis()
java.sql.Time time = new java.sql.Time(millis);
J'ai trouvé une autre façon de convertir le java.time.localtime em> vers java.time.localtime em>
La question concerne la section locale dans Joda-Time, et non la classe localeTime ajoutée à Java 8.