Rumah > Java > javaTutorial > Bagaimana untuk Menukar Cap Waktu dari Zon Waktu Tempatan ke GMT di Java?

Bagaimana untuk Menukar Cap Waktu dari Zon Waktu Tempatan ke GMT di Java?

Barbara Streisand
Lepaskan: 2024-11-16 04:22:03
asal
334 orang telah melayarinya

How to Convert a Timestamp from Local Time Zone to GMT in Java?

Cara Mengendalikan Zon Masa dalam Pengiraan Cap Masa dalam Java

Apabila bekerja dengan cap masa dalam aplikasi Java, adalah penting untuk mempertimbangkan zon masa untuk memastikan pengiraan dan pengendalian data yang tepat. Dalam senario tertentu ini, pengguna boleh memasukkan cap masa dalam zon waktu tempatan (EST) mereka, tetapi perkhidmatan menjangkakan ia berada dalam GMT.

Untuk menukar cap masa daripada zon waktu tempatan pengguna kepada GMT, kami perlu mengambil kira perbezaan dalam offset masa. Berikut ialah contoh cara untuk mengatasi cabaran ini menggunakan kelas Kalendar Java:

public static Calendar convertToGmt(Calendar cal) {

    Date date = cal.getTime();
    TimeZone tz = cal.getTimeZone();
    log.debug("input calendar has date [" + date + "]");

    // Convert to milliseconds since epoch in GMT
    long msFromEpochGmt = date.getTime();

    // Get offset from UTC in milliseconds
    int offsetFromUTC = tz.getOffset(msFromEpochGmt);
    log.debug("offset is " + offsetFromUTC);

    // Create GMT calendar and adjust date based on offset
    Calendar gmtCal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
    gmtCal.setTime(date);
    gmtCal.add(Calendar.MILLISECOND, offsetFromUTC);
    log.debug("Created GMT cal with date [" + gmtCal.getTime() + "]");

    return gmtCal;
}
Salin selepas log masuk

Dengan menggunakan kaedah ini, anda boleh menukar cap masa kepada GMT, memastikan ia sepadan dengan jangkaan perkhidmatan, tanpa mengira lokasi atau masa pengguna tetapan zon.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Waktu dari Zon Waktu Tempatan ke GMT di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan