1. Cadena y fecha (java.util.date) se transfieren entre sí
1.1 cadena -> fecha
String datestr = "// ::"; Fecha fecha = nueva fecha (); // Tenga en cuenta que el formato de formato debe coincidir con el formato de la fecha de cadena dateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); intente {date = sdf.parse (datestr); System.out.println (date.ToString ()); } catch (Exception e) {E.PrintStackTrace (); } String datestr = "2010/05/04 12:34:23"; Fecha fecha = nueva fecha (); // Tenga en cuenta que el formato de formato debe coincidir con el formato de la fecha de cadena dateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); intente {date = sdf.parse (datestr); System.out.println (date.ToString ()); } catch (Exception e) {E.PrintStackTrace (); } 1.2 fecha -> cadena
Convertir la fecha en cadena, puede establecer cualquier formato de conversión
String datStr = ""; Fecha fecha = nueva fecha (); // El formato de formato puede ser arbitrariamente dateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); DateFormat sdf = new SimpleDateFormat ("yyyy-mm-dd hh/mm/ss"); intente {datstr = sdf.format (fecha); System.out.println (datestr); datstr = sdf.format (fecha); System.out.println (datestr); } catch (Exception e) {E.PrintStackTrace (); } String datestr = ""; Fecha fecha = nueva fecha (); // El formato de formato puede ser arbitrariamente dateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); DateFormat sdf2 = new SimpleDateFormat ("yyyy-mm-dd hh/mm/ss"); intente {datstr = sdf.format (fecha); System.out.println (datestr); datstr = sdf2.format (fecha); System.out.println (datestr); } catch (Exception e) {E.PrintStackTrace (); } 2. La cadena y la marca de tiempo se transfieren juntas
2.1 cadena -> marca de tiempo
Utilice el método ValueOf () de Timestamp ()
TimeStamp TS = nueva marca de tiempo (System.CurrentTimemillis ()); Cadena tsstr = "- ::"; intente {ts = timeStamp.ValueOf (tsstr); System.out.println (TS); } catch (Exception e) {E.PrintStackTrace (); } Timestamp ts = new Timestamp (System.CurrentTimemillis ()); Cadena tsstr = "2011-05-09 11:49:45"; intente {ts = timeStamp.ValueOf (tsstr); System.out.println (TS); } catch (Exception e) {E.PrintStackTrace (); }Nota: El tipo de cadena debe estar en forma de: aaa yyyy-mm-dd hh: mm: ss [.f ...], con soportes que indican opcional, de lo contrario se informará un error. ! !
Si la cadena está en otro formato, puede considerar volver a aparecer la cadena y reorganizarla ~~
2.2 marca de tiempo -> cadena
Use el método ToString () de Timestamp () o préstamo dateFormat
TimeStamp TS = nueva marca de tiempo (System.CurrentTimemillis ()); Cadena tsstr = ""; DateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); intente {// método 1 tsstr = sdf.format (ts); System.out.println (TSSTR); // método 2 tsstr = ts.ToString (); System.out.println (TSSTR); } catch (Exception e) {E.PrintStackTrace (); } Timestamp ts = new Timestamp (System.CurrentTimemillis ()); Cadena tsstr = ""; DateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); intente {// método 1 tsstr = sdf.format (ts); System.out.println (TSSTR); // método 2 tsstr = ts.ToString (); System.out.println (TSSTR); } catch (Exception e) {E.PrintStackTrace (); } Es fácil ver que la ventaja del método 1 es que puede establecer de manera flexible la forma de cadenas.
3. Fecha (java.util.date) y la marca de tiempo se transfieren juntos
Declaración: Mirando la API, podemos ver que la fecha y el tiempo son las relaciones entre padres e hijos
3.1 marca de tiempo -> fecha
TimeStamp TS = nueva marca de tiempo (System.CurrentTimemillis ()); Fecha fecha = nueva fecha (); intente {date = ts; System.out.println (fecha); } catch (Exception e) {E.PrintStackTrace (); } Timestamp ts = new Timestamp (System.CurrentTimemillis ()); Fecha fecha = nueva fecha (); intente {date = ts; System.out.println (fecha); } catch (Exception e) {E.PrintStackTrace (); } Es muy simple, pero en este momento la entidad señalada por el objeto de fecha es una marca de tiempo, es decir, la fecha tiene el método de la clase de fecha, pero la entidad de ejecución del método sobrescribido está en la marca de tiempo.
3.2 Fecha -> marca de tiempo
La clase principal no se puede convertir directamente a la clase infantil, puede usar la cadena media ~~~~
java.sql.Date Solo almacena datos de fecha pero no datos de tiempo // Los datos de tiempo se perderán preparado.setdate (1, new java.sql.date (date.gettime ())); // preparadostatement.settimeStamp (1, new java.sql.timeStamp (new java.util.date (). gettime ()))))); // Si desea obtener datos completos, incluidas la fecha y la hora, puede java.util.date d = resultset.gettimestamp (1); // Esto es más apropiado para evitar algunos problemas potenciales de la marca de tiempo java.util.date d = new java.util.date (resultset.getTimestamp (1) .getTime ());
Si lo compensa usted mismo, este es el caso:
Al almacenar la base de datos, puede recibir el tipo java.util.date y usar el método gettime () para obtener el valor largo que representa el objeto de fecha, y luego usar este valor largo para construir un objeto de marca de tiempo para almacenarlo en la base de datos.
Al obtener desde la base de datos de almacenamiento, primero puede obtener la marca de tiempo y usar su método gettime () para obtener el valor largo, y luego usar este valor largo para construir un objeto java.util.cate, para que pueda operar con este objeto de fecha. Es mejor decir nuevo SimpleTimeFormat ("aaa yyyy-mm-dd hh: mm: ss"). Format (), etc.