Rumah  >  Artikel  >  Java  >  Cara menggunakan fungsi Tempoh untuk operasi selang masa dalam Java

Cara menggunakan fungsi Tempoh untuk operasi selang masa dalam Java

王林
王林asal
2023-06-26 15:51:113062semak imbas

Di Java, kita selalunya perlu melakukan operasi selang masa. Java menyediakan kelas Tempoh untuk mengendalikan pengiraan selang masa. Kelas tempoh ialah salah satu API masa yang baru ditambah dalam Java 8, yang digunakan untuk mengira selang masa antara dua masa. Seterusnya, mari kita pelajari cara menggunakan fungsi Tempoh untuk operasi selang masa.

  1. Buat objek Tempoh

Untuk menggunakan fungsi Tempoh dalam Java, anda perlu mencipta objek Tempoh dahulu. Terdapat dua cara untuk mencipta objek Tempoh:

Cara pertama ialah menggunakan kaedah antara() untuk mencipta objek Tempoh.

Instant start = Instant.now();
Instant end = Instant.now().plusSeconds(30);
Duration duration = Duration.between(start, end);

Cara kedua ialah menggunakan kaedah of() untuk mencipta objek Duration.

Duration duration = Duration.ofMinutes(30);

Kedua-dua kaedah di atas boleh mencipta objek Tempoh. Cara pertama ialah menggunakan kaedah antara() untuk mencipta objek Tempoh, dan anda perlu menyediakan dua objek Segera sebagai parameter. Kelas Segera ialah salah satu API masa yang baru ditambah dalam Java 8. Ia mewakili cap masa bermula dari 1 Januari 1970, dengan ketepatan nanosaat. Dalam cara kedua, apabila menggunakan kaedah of() untuk mencipta objek Tempoh, anda perlu menyediakan jumlah masa dan unit masa yang sepadan sebagai parameter.

  1. Dapatkan selang masa

Selepas mencipta objek Duration, kita boleh menggunakan toSeconds(), toMillis(), toMinutes() dan kaedah lain untuk mendapatkan saiz selang masa.

Duration duration = Duration.ofMinutes(30);
long minutes = duration.toMinutes(); // 30
long seconds = duration.toSeconds(); // 1800
long millis = duration.toMillis();   // 180000
  1. Tambahan dan penolakan selang masa

Kita boleh menggunakan kaedah tambah() dan tolak() untuk menambah dan menolak selang masa.

Duration duration = Duration.ofMinutes(30);
Duration plusDuration = duration.plusMinutes(10); // 加10分钟
Duration minusDuration = duration.minusMinutes(10); // 减10分钟
  1. Banding selang masa

Kita boleh menggunakan kaedah compareTo() untuk membandingkan saiz dua selang masa.

Duration duration1 = Duration.ofMinutes(30);
Duration duration2 = Duration.ofMinutes(60);
int result = duration1.compareTo(duration2);
System.out.println(result); // -1

Dalam kod di atas, kami mula-mula mencipta dua objek Tempoh, dan kemudian menggunakan kaedah compareTo() untuk membandingkan saiznya. Oleh kerana saiz tempoh1 lebih kecil daripada tempoh2, hasilnya ialah -1.

  1. Memformat selang masa

Kita boleh menggunakan kaedah pemformatan yang disediakan oleh kelas Tempoh untuk memformat selang masa.

Duration duration = Duration.ofHours(3);
String formattedDuration = String.format("%d:%02d:%02d", 
             duration.toHours(),
             duration.toMinutesPart(),
             duration.toSecondsPart());
System.out.println(formattedDuration); // 3:00:00

Dalam kod di atas, kami mula-mula mencipta objek Tempoh untuk mewakili selang masa 3 jam, kemudian gunakan kaedah toHours(), toMinutesPart() dan toSecondsPart() untuk mendapatkan jam, minit dan saat, dan akhirnya gunakan Kaedah String.format () memformatkan selang masa ke dalam bentuk "jam: minit: saat".

Di atas adalah beberapa kaedah asas menggunakan fungsi Tempoh untuk melaksanakan operasi selang masa. Melalui kaedah yang disediakan oleh kelas Tempoh ini, anda boleh mengira, menambah, menolak, membandingkan, dan memformat selang masa dengan mudah Ia adalah pilihan yang baik untuk Java menangani isu selang masa.

Atas ialah kandungan terperinci Cara menggunakan fungsi Tempoh untuk operasi selang masa dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn