Rumah  >  Artikel  >  Java  >  Gunakan kelas TimeZone baharu dalam Java 11 untuk mengendalikan isu berkaitan zon waktu

Gunakan kelas TimeZone baharu dalam Java 11 untuk mengendalikan isu berkaitan zon waktu

王林
王林asal
2023-08-02 17:00:19758semak imbas

Gunakan kelas Zon Waktu baharu dalam Java 11 untuk mengendalikan isu berkaitan zon waktu

Pengenalan:
Di seluruh dunia, kawasan berbeza mempunyai zon waktu berbeza, yang merupakan isu penting bagi pembangun apabila berurusan dengan masa dan tarikh. Java, sebagai bahasa pengaturcaraan yang biasa digunakan, menyediakan banyak kelas dan kaedah untuk menangani zon waktu. Dalam Java 11, kelas TimeZone baharu diperkenalkan, yang memberikan kami fungsi pemprosesan zon waktu yang lebih mudah dan fleksibel. Artikel ini menerangkan cara menggunakan kelas TimeZone dalam Java 11 untuk mengendalikan isu berkaitan zon waktu, bersama-sama dengan contoh kod.

1. Memperkenalkan kelas TimeZone baharu
Dalam Java 11, anda boleh mencipta objek TimeZone dengan menggunakan kelas ZoneId baharu dalam pakej java.time. ZoneId menyediakan beberapa kaedah untuk bekerja dengan zon waktu dan boleh mencipta objek zon waktu berdasarkan nama wilayah/bandar atau ofset GMT standard.

2 Cipta objek TimeZone
Dalam Java 11, anda boleh mencipta objek TimeZone dengan cara berikut.

  1. Buat objek TimeZone berdasarkan nama wilayah/bandar
    Anda boleh menggunakan kaedah ZoneId.of(String zoneId) untuk mencipta objek TimeZone berdasarkan nama wilayah atau bandar. Contohnya, jika kita perlu mencipta objek TimeZone yang mewakili zon waktu Shanghai di China, kita boleh menggunakan kod berikut:
import java.time.ZoneId;
import java.util.TimeZone;

public class Main {
    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.of("Asia/Shanghai");
        TimeZone timeZone = TimeZone.getTimeZone(zoneId);
        System.out.println(timeZone);
    }
}

Hasil keluarannya ialah: sun.util.calendar.ZoneInfo[id="Asia/Shanghai" ,offset=28800000,dstSavings=0 ,useDaylight=false,transitions=29,lastRule=null]

  1. Buat objek zon waktu berdasarkan ofset GMT standard
    Anda boleh menggunakan ZoneId.ofOffset(String jam) awalan, int jam kaedah untuk mencipta objek TimeZone berdasarkan ofset GMT standard. Antaranya, awalan ialah "+/-" dan jam ialah bilangan jam bagi offset. Contohnya, jika kita perlu mencipta objek TimeZone yang mewakili Greenwich Mean Time (GMT), kita boleh menggunakan kod berikut:
import java.time.ZoneOffset;
import java.time.ZoneId;
import java.util.TimeZone;

public class Main {
    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.ofOffset("GMT", 0);
        TimeZone timeZone = TimeZone.getTimeZone(zoneId);
        System.out.println(timeZone);
    }
}

Hasil output ialah: sun.util.calendar.ZoneInfo[id="GMT",offset =0,dstSavings= 0, useDaylight=false, transitions=0, lastRule=null]

3 Dapatkan maklumat zon waktu
Kelas ITimeZone menyediakan banyak kaedah untuk mendapatkan maklumat berkaitan zon waktu.

  1. Dapatkan ID unik zon waktu
    Anda boleh menggunakan kaedah TimeZone.getID() untuk mendapatkan ID unik zon waktu. Contohnya, untuk mendapatkan ID zon waktu Shanghai di China, anda boleh menggunakan kod berikut:
import java.time.ZoneId;
import java.util.TimeZone;

public class Main {
    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.of("Asia/Shanghai");
        TimeZone timeZone = TimeZone.getTimeZone(zoneId);
        System.out.println(timeZone.getID());
    }
}

Hasil keluaran ialah: Asia/Shanghai

  1. Dapatkan offset zon waktu
    Anda boleh menggunakan Zon Waktu Kaedah .getRawOffset() untuk mendapatkan offset zon waktu (dalam milisaat). Sebagai contoh, untuk mendapatkan offset zon waktu Shanghai di China, anda boleh menggunakan kod berikut:
import java.time.ZoneId;
import java.util.TimeZone;

public class Main {
    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.of("Asia/Shanghai");
        TimeZone timeZone = TimeZone.getTimeZone(zoneId);
        System.out.println(timeZone.getRawOffset());
    }
}

Hasil output ialah: 28800000

  1. Dapatkan nama paparan zon waktu
    Anda boleh menggunakan Zon Waktu. kaedah getDisplayName() untuk mendapatkan nama paparan zon waktu. Contohnya, untuk mendapatkan nama paparan zon waktu Shanghai di China, anda boleh menggunakan kod berikut:
import java.time.ZoneId;
import java.util.TimeZone;

public class Main {
    public static void main(String[] args) {
        ZoneId zoneId = ZoneId.of("Asia/Shanghai");
        TimeZone timeZone = TimeZone.getTimeZone(zoneId);
        System.out.println(timeZone.getDisplayName());
    }
}

Hasil output ialah: China Standard Time

IV
Kelas Zon Waktu baharu yang diperkenalkan di Java 11 menyediakan kami dengan fungsi pemprosesan zon waktu yang lebih mudah dan fleksibel. Anda boleh mencipta objek zon waktu melalui kelas ZoneId dan mendapatkan maklumat berkaitan zon waktu melalui kelas Zon Waktu. Dengan menggunakan kelas dan kaedah baharu ini, kami boleh mengendalikan isu berkaitan zon waktu dengan lebih mudah dan meningkatkan kecekapan pembangunan.

Di atas ialah pengenalan untuk menggunakan kelas TimeZone baharu dalam Java 11 untuk menangani isu berkaitan zon waktu Melalui demonstrasi contoh kod, saya percaya semua orang mempunyai pemahaman tertentu tentang cara menggunakan kelas TimeZone. Saya harap artikel ini dapat membantu semua orang.

Atas ialah kandungan terperinci Gunakan kelas TimeZone baharu dalam Java 11 untuk mengendalikan isu berkaitan zon waktu. 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