"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso calcular com eficiência as diferenças de horário em Java?

Como posso calcular com eficiência as diferenças de horário em Java?

Publicado em 2024-11-20
Navegar:140

How Can I Efficiently Calculate Time Differences in Java?

Calculando diferenças de tempo em Java

Subtrair períodos de tempo é uma operação comum em programação. Em Java, existem duas abordagens principais para calcular diferenças de tempo: as classes tradicionais de Data e Calendário e as classes Instant e Duração mais recentes introduzidas no Java 8.

Abordagem Tradicional com Data e Calendário

As classes Date e Calendar têm sido usadas historicamente para cálculos de tempo em Java. Aqui está um exemplo:

    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
    Calendar start = Calendar.getInstance();
    start.setTime(sdf.parse("16:00:00"));
    Calendar end = Calendar.getInstance();
    end.setTime(sdf.parse("19:00:00"));
    long timeDifferenceMillis = end.getTimeInMillis() - start.getTimeInMillis();
    System.out.println("Time difference in milliseconds: "   timeDifferenceMillis);

Instant and Duration in Java 8

Java 8 introduziu as classes Instant e Duration para mais manuseio de tempo eficiente e mais limpo.

    Instant start = Instant.now();
    // Your code
    Instant end = Instant.now();
    Duration timeElapsed = Duration.between(start, end);
    System.out.println("Time taken: "   timeElapsed.toMillis()   " milliseconds");

Conclusão

Ambos os métodos podem ser usados ​​para calcular diferenças de tempo em Java. No entanto, as classes Instant e Duration, introduzidas no Java 8, oferecem uma abordagem mais simplificada e eficiente em comparação com as classes tradicionais de Data e Calendário.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3