¿Cómo convertir la hora local a GMT en Java?

La conversión de hora de IST o cualquier hora estándar a GMT es necesaria para que los locales entiendan y correspondan a sus clientes internacionales si están conectados en el extranjero en términos de trabajo o cualquier propósito. Hoy veremos un código en el que convertimos la hora estándar de cualquier país a GMT. 

Aquí usaríamos SimpleDateFormat para convertir la hora local en GMT. Está disponible en clase como se menciona:

java.util.SimpleDateFormat

Métodos: se pueden usar diferentes métodos como SimpleDateFormat o tal vez incluso el método Instance() . Son métodos muy fáciles y útiles. También podemos usar métodos de calendario y tiempo para hacerlo.

  1. Usando el método format() de la clase SimpleDateFormat
  2. Usando el método de instancia() de la clase SimpleDateFormat

Método 1: Uso del método format() de la clase SimpleDateFormat

El método format() de la clase DateFormat en Java se usa para formatear una fecha determinada en una string de fecha/hora. Básicamente , el método se usa para convertir esta fecha y hora en un formato particular, es decir, mm/dd/yyyy.

Sintaxis:

public final String format(Date date)

Parámetros: el método toma una fecha de parámetro del tipo de objeto Fecha y se refiere a la fecha cuya salida de string se va a producir.

Valor devuelto: el método devuelve la fecha o la hora en formato de string de mm/dd/yyyy.

Procedimiento:

  • Aquí simplemente imprimiríamos primero nuestra hora local
  • Luego conviértalo a GMT usando SimpleDateFormat
  • Luego imprima ambas zonas horarias.

Ejemplo:

Java

// Java Program to convert local time to GMT
 
// Importing libraries
// 1. input output libraries
import java.io.*;
// 3. Text class
import java.text.DateFormat;
import java.text.SimpleDateFormat;
// 2. Utility libraries for
// Date and TimeZone class
import java.util.Date;
import java.util.TimeZone;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Creating a Date class object
        // to take local time from the user
        Date localTime = new Date();
 
        // Creating a DateFormat class object to
        // convert the localtime to GMT
        DateFormat s = new SimpleDateFormat("dd/MM/yyyy"
                                            + " "
                                            + " HH:mm:ss");
 
        //  function will helps to get the GMT Timezone
        // using the getTimeZOne() method
        s.setTimeZone(TimeZone.getTimeZone("GMT"));
 
        // One can get any other time zone also
        // by passing some other argument to it
 
        // Printing the local time
        System.out.println("local Time:" + localTime);
 
        // Printing the GMT time to
        // illustrate changes in GMT time
        System.out.println("Time IN Gmt : "
                           + s.format(localTime));
    }
}
Producción

local Time:Thu Feb 04 11:34:15 UTC 2021
Time IN Gmt : 04/02/2021  11:34:15

Método 2: usar el método de instancia() de la clase SimpleDateFormat

Como en el método anterior usamos SimpleDateFormat, ahora usaremos el método instantáneo para obtener la hora. El SimpleDateFormat se puede usar de diferentes maneras, ahora el método instantáneo se puede usar para obtener el UTC o GMT.

Procedimiento:

  • Usaremos el método instantáneo para obtener el tiempo adecuado .
  • Puede estar importando la clase de tiempo completa
 java.time.* ;

Ejemplo:

Java

// Java Program to convert Local time to
// GMT time
 
// Importing all input output classes
import java.io.*;
// Importing all time classes
import java.time.*;
 
// Class
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Instant operator helps to note
        // the time and the location of it
 
        // Creating an object of Instant type
        // using the now() method
        Instant now = Instant.now();
 
        // Now with the help of Instant operator
        // zoned operator is called
 
        // Creating an object of ZonedDateTime
        ZonedDateTime zdt = ZonedDateTime.ofInstant(
            now, ZoneId.systemDefault());
 
        // Printing the local time
        System.out.println(" Local : " + zdt);
 
        // Creating an object of  Instant type
        // taking any other instant method
        Instant instant = Instant.now();
 
        // Printing the GMT/UTC time by parsing with string
        // using the toString() method
        System.out.println(" GMT : "+instant.toString());
    }
}
Producción

 Local : 2021-02-04T10:40:34.436700Z[Etc/UTC]
 GMT : 2021-02-04T10:40:34.547680Z

Publicación traducida automáticamente

Artículo escrito por saransh9342 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *