Heim > Java > javaLernprogramm > Wie konvertiere ich Datum und Uhrzeit in Java genau in eine andere Zeitzone?

Wie konvertiere ich Datum und Uhrzeit in Java genau in eine andere Zeitzone?

Mary-Kate Olsen
Freigeben: 2024-10-29 09:44:30
Original
576 Leute haben es durchsucht

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

Datum und Uhrzeit in eine andere Zeitzone in Java konvertieren

Wenn Sie versuchen, das aktuelle Datum und die aktuelle Uhrzeit in eine andere Zeitzone zu konvertieren, Ein häufiges Problem tritt auf, wenn die Ausgabezeit nicht mit dem erwarteten Wert übereinstimmt. Um dies zu korrigieren, ziehen Sie die folgende Lösung in Betracht:

<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>
Nach dem Login kopieren

Dieser Code behebt die Zeitlücke, indem er Offsets und Sommerzeit sowohl für die Quell- als auch die Zielzeitzone ordnungsgemäß berücksichtigt und so eine genaue Zeitumrechnung gewährleistet.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Datum und Uhrzeit in Java genau in eine andere Zeitzone?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage