2010-04-30 22 views
19

Quiero convertir la fecha de la cadena en Timestamp en java. La siguiente codificación que he escrito. He declarado que la fecha de la fecha1 es: 7-11-11 12:13:14.Cómo convertir la fecha de la cadena en Timestamp en java?

SimpleDateFormat datetimeFormatter1 = new SimpleDateFormat(
       "yyyy-MM-dd hh:mm:ss"); 
Date lFromDate1 = datetimeFormatter1.parse(date1); 
System.out.println("gpsdate :" + lFromDate1); 
Timestamp fromTS1 = new Timestamp(lFromDate1.getTime()); 

Quiero cambiar 11/07/11 12:13:14 esta fecha cadena en fecha y hora. Ahora recibí la salida es 0007-11-11 00: 13: 14.000000 +05: 30: 00 pero quiero (7-11-11 12:13:14) este formato de fecha y hora. Alguien puede ayudarme por favor. Gracias.

+0

posible duplicado de - (http [Marca de tiempo de Java ¿Cómo puedo crear una marca de tiempo con la fecha 23/09/2007?]: // stackoverflow. com/questions/974973/java-timestamp-how-can-i-create-a-timestamp-with-the-date-23-09-2007) –

Respuesta

16

Todo lo que necesita hacer es cambiar la cadena dentro de la java.text.SimpleDateFormat constructor para: "MM-dd-aaaa hh: mm: ss ".

Simplemente use las letras apropiadas para construir la cadena anterior para que coincida con su fecha de entrada.

+0

Gracias por su respuesta. – lakshmi

+0

Cambié el SimpleDateFormat como "aaaa-MM-dd HH: mm: ss". Ahora recibí una respuesta es 2007-11-11 12: 13: 14.000000 +05: 30: 00, el problema es que no puedo agregar este valor en la tabla de mi base de datos. Quiero mostrar el formato de fecha y hora es 2007-11-11 12:13:14. Como hacer esto..? – lakshmi

+0

Muchas gracias Obtuve una respuesta. – lakshmi

3

uso de capital HH para obtener horas de formato de días, en lugar de am/pm hora

+0

Gracias por su respuesta .. – lakshmi

2

Incluso puede intentar esto.

String date="09/08/1980"; // take a string date 
    Timestamp ts=null; //declare timestamp 
    Date d=new Date(date); // Intialize date with the string date 
    if(d!=null){ // simple null check 
     ts=new java.sql.Timestamp(d.getTime()); // convert gettime from date and assign it to your timestamp. 
    } 
6

java.sql.Timestamp puede analizar

Si puede utilizar los cuatro dígitos completos para el año, su cadena de entrada de 2007-11-11 12:13:14 sería en formato estándar SQL asumiendo este valor está destinado a ser en UTC zona horaria.

La clase java.sql.Timestamp tiene un método valueOf para analizar directamente dichas cadenas.

String input = "2007-11-11 12:13:14" ; 
java.sql.Timestamp ts = java.sql.Timestamp.valueOf(input) ; 

java.time

En Java 8 y versiones posteriores, el marco java.time hace que sea más fácil de verificar los resultados. La clase j.s.Timestamp tiene la mala costumbre de aplicar implícitamente la marca de tiempo predeterminada actual de su JVM al generar una representación de cadena mediante su método toString. Por el contrario, las clases java.time por defecto usan los formatos estándar ISO 8601.

System.out.println("Output: " + ts.toInstant().toString()); 
1

Usted puede convertir la serie de marca de tiempo:

String inDate = "01-01-1990" 
DateFormat df = new SimpleDateFormat("MM-dd-yyyy"); 
Timestamp ts = new Timestamp(((java.util.Date)df.parse(inDate)).getTime()); 
Cuestiones relacionadas