Porque truena mi test

Buenos Dias.

Necesito de su apoyo quisiera saber porque me truena mi programa si podría ayudarme se lo agradeceria.

o alguna sugerencia que podrían dar.

ya que en encuentro haciendo pruebas y quisiera saber en donde fue mi.

Sin mas me despido y que tenga un buen día.

Saludos

import java.text.DateFormat;
import java.util.*;
import java.text.SimpleDateFormat;

public class Fecha5 {

        /**
         * @param args
         */

        public static void main(String[] args) {
               
                Date fechaHora;
                String fechaHora1 = "";
               
                java.text.SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                java.util.Calendar cal = Calendar.getInstance(new SimpleTimeZone(0,"GMT-"));
                format.setCalendar(cal);                
                System.out.println("### Formato GMT: " + format.format(fechaHora1));

        }

}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

GMT-

GMT- no suena a una zona horaria válida. Y por qué creas una nueva instancia de SimpleTimeZone? Puedes pedir zonas horarias válidas a la clase TimeZone por ejemplo TimeZone.getTimeZone("GMT") (suponiendo que eso es lo que te truene porque no das mas info).

Ah ya viendo bien tu código creo que ya sé qué truena: format.format(fechaHora1) truena porque fechaHora1 es una cadena vacía y el método format espera una fecha, y devuelve una cadena con la descripción de la fecha como la pusiste. O sea que debes invocar format.format(cal) o format.format(cal.getTime()).

Imagen de osalgado999

Buenos Dias ezamudio. La

Buenos Dias ezamudio.

La intención de mi programa es que me de la hora y fecha de hoy y con esto cuando yo la envie a otro metodo no se pierda la fecha y hora y que se mantenga lo mismo que estoy mandando.

Eso es lo que quiero que haga ya que me encuentro así pruebas pero creo que ya me da mas mi cabeza.

de tanta información que me han dado aqui en comunidad.

De antemano espero que me ayudes o que me des una orientación.

Saludos.

Imagen de ezamudio

java.util.Date

java.util.Date, java.util.GregorianCalendar, o si prefieres usar joda time, con eso manejas fechas como objetos.

Tienes que diferenciar entre

Tienes que diferenciar entre un objeto fecha y un string que representa una fecha, son cosas distintas.

Se me hace que tu problema radica en que estas enviando un string que representa una fecha y estas perdiendo información al querer regresarlo.

No sería mucho más fácil simplemente pasar la fecha y ya en vez de estarlo transformando a un string?

ejemplo:

import java.util.Date;

class ProbarFechas {
  public static void main( String [] args ) {
    Date fecha = new Date();
    System.out.println("Antes de enviar: " + fecha.toString() );
    Date regresada = regresameEstaFecha( fecha );
    System.out.println("Fecha regresada: " + regresada.toString() );

  }
  public static Date regresameEstaFecha( Date f ) {
    System.out.println("Fecha recibida : " + f.toString() );
    return f;
  }
}

Así no pierdes la información.

Imagen de osalgado999

Agradecimiento

Gracias por tu respuesta y por tu consejo.

Intentare con las recomendaciones que me das.

Imagen de osalgado999

Gracias

Compañero lo tomare como ejemplo para hacer mis pruebas espero que me sirva ya que no he podido resolver lo de la fecha de mi aplicación.

Si me surge algo ya te mandare un correo para que me apoyes.

Bueno saludos.

Imagen de osalgado999

Listo

Gracias mi buen era el resultado que esperaba.

Ahora a implementarlo.

Saludos