Rumah > Java > javaTutorial > Bagaimana untuk Menukar Tarikh dan Masa dengan Tepat ke Zon Waktu Berbeza di Jawa?

Bagaimana untuk Menukar Tarikh dan Masa dengan Tepat ke Zon Waktu Berbeza di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-10-29 09:44:30
asal
562 orang telah melayarinya

How to Accurately Convert Date and Time to a Different Time Zone in Java?

Tukar Tarikh dan Masa kepada Zon Waktu Berbeza di Jawa

Apabila cuba menukar tarikh dan masa semasa kepada zon waktu yang berbeza, isu biasa timbul apabila masa output tidak konsisten dengan nilai yang dijangkakan. Untuk membetulkannya, pertimbangkan penyelesaian berikut:

<code class="java">import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class DateAndTimeZoneConversion {

    public static void main(String[] args) {
        try {
            // Get the current date and time
            Calendar currentDate = Calendar.getInstance();
            String strDate = null;
            DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
            strDate = formatter.format(currentDate.getTime());

            // Convert from current time zone to IST
            TimeZone fromTimeZone = TimeZone.getDefault();
            TimeZone istTimeZone = TimeZone.getTimeZone("IST");

            currentDate.setTimeZone(fromTimeZone);
            currentDate.add(Calendar.MILLISECOND, fromTimeZone.getRawOffset() * -1);
            if (fromTimeZone.inDaylightTime(currentDate.getTime())) {
                currentDate.add(Calendar.MILLISECOND, currentDate.getTimeZone().getDSTSavings() * -1);
            }

            // Convert to Central Standard Time (CST)
            TimeZone toTimeZone = TimeZone.getTimeZone("CST");
            currentDate.add(Calendar.MILLISECOND, toTimeZone.getRawOffset());
            if (toTimeZone.inDaylightTime(currentDate.getTime())) {
                currentDate.add(Calendar.MILLISECOND, toTimeZone.getDSTSavings());
            }

            // Print the converted time
            System.out.println("The current time in India is: " + istTimeZone.getDisplayName() + " :: " + formatter.format(currentDate.getTime()));
            System.out.println("The current time in Central Standard Time is: " + toTimeZone.getDisplayName() + " :: " + formatter.format(currentDate.getTime()));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}</code>
Salin selepas log masuk

Kod ini menangani jurang masa dengan mengambil kira offset dan masa penjimatan siang dengan betul untuk kedua-dua zon waktu sumber dan destinasi, memastikan penukaran masa yang tepat.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tarikh dan Masa dengan Tepat ke Zon Waktu Berbeza di Jawa?. 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