1. String e data (java.util.date) são transferidos um para o outro
1.1 String -> Data
String datestr = "// ::"; Data data = new Date (); // Observe que o formato do formato deve corresponder ao formato da string de data dateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); tente {date = sdf.parse (datestr); System.out.println (date.toString ()); } catch (Exceção e) {e.printStackTrace (); } String datestr = "2010/05/04 12:34:23"; Data data = new Date (); // Observe que o formato do formato deve corresponder ao formato da string de data dateFormat sdf = new SimpleDateFormat ("yyyy/mm/dd hh: mm: ss"); tente {date = sdf.parse (datestr); System.out.println (date.toString ()); } catch (Exceção e) {e.printStackTrace (); } 1.2 Data -> String
Converter data em string, você pode definir qualquer formato de conversão
String datester = ""; Data data = new Date (); // O formato do formato pode ser arbitrariamente dateFormat sdf = new SimpleDateFormat ("aaa/mm/dd hh: mm: ss "); DateFormat sdf = new SimpleDateFormat ("AAAA-MM-DD HH/MM/SS"); tente {datestr = sdf.format (date); System.out.println (DATEST); DATEST = sdf.format (data); System.out.println (DATEST); } catch (Exceção e) {e.printStackTrace (); } String datestr = ""; Data data = new Date (); // O formato do formato pode ser arbitrariamente dateFormat sdf = new SimpleDateFormat ("aaa/mm/dd hh: mm: ss "); DateFormat sdf2 = new SimpleDateFormat ("yyyy-mm-dd hh/mm/ss"); tente {datestr = sdf.format (date); System.out.println (DATEST); DATEST = SDF2.Format (DATE); System.out.println (DATEST); } catch (Exceção e) {e.printStackTrace (); } 2. String e Timestamp são transferidos juntos
2.1 String -> Timestamp
Use o método ValueOf () do Timestamp ()
Timestamp ts = novo timestamp (system.currenttimemillis ()); String tsstr = "- ::"; tente {ts = timestamp.valueof (tsstr); System.out.println (TS); } catch (Exceção e) {e.printStackTrace (); } Timestamp ts = novo timestamp (system.currenttimemillis ()); String tsstr = "2011-05-09 11:49:45"; tente {ts = timestamp.valueof (tsstr); System.out.println (TS); } catch (Exceção e) {e.printStackTrace (); }Nota: O tipo de string deve estar na forma de: AAAA-MM-DD HH: MM: SS [.f ...], com colchetes indicando opcional, caso contrário, um erro será relatado! ! !
Se a string estiver em outro formato, você pode considerar novamente a string e reorganizá-la ~~
2.2 Timestamp -> String
Use o método ToString () de Timestamp ou emprestar dataFormat
Timestamp ts = novo timestamp (system.currenttimemillis ()); String tsstr = ""; DateFormat sdf = new SimpleDateFormat ("aaaa/mm/dd hh: mm: ss "); tente {// método 1 tsstr = sdf.format (ts); System.out.println (tsstr); // Método 2 tsstr = ts.toString (); System.out.println (tsstr); } catch (Exceção e) {e.printStackTrace (); } Timestamp ts = novo timestamp (system.currenttimemillis ()); String tsstr = ""; DateFormat sdf = new SimpleDateFormat ("aaaa/mm/dd hh: mm: ss "); tente {// método 1 tsstr = sdf.format (ts); System.out.println (tsstr); // Método 2 tsstr = ts.toString (); System.out.println (tsstr); } catch (Exceção e) {e.printStackTrace (); } É fácil ver que a vantagem do método 1 é que ele pode definir flexivelmente a forma de strings.
3. Data (Java.util.date) e Timestamp são transferidos juntos
Declaração: Olhando para a API, podemos ver que a data e o timesta são relacionamentos entre pais e filhos
3.1 Timestamp -> Data
Timestamp ts = novo timestamp (system.currenttimemillis ()); Data data = new Date (); tente {date = ts; System.out.println (data); } catch (Exceção e) {e.printStackTrace (); } Timestamp ts = novo timestamp (system.currenttimemillis ()); Data data = new Date (); tente {date = ts; System.out.println (data); } catch (Exceção e) {e.printStackTrace (); } É muito simples, mas neste momento a entidade apontada até o objeto de data é um registro de data e hora, ou seja, a data tem o método da classe de data, mas a entidade de execução do método substituído está no registro de data e hora.
3.2 Data -> Timestamp
A classe pai não pode ser diretamente convertida para a classe infantil, você pode usar a string do meio ~~~~
java.sql.date armazena apenas dados de data, mas não os dados do tempo // os dados do tempo serão perdidos preparados estatamentos.setDate (1, new java.sql.date (date.gettime ()); // preparadostate.utimestamp (1, java.sql.time (java.util.date (1, java.sql.time (new); // Se você deseja obter dados completos, incluindo data e hora, você pode java.util.date d = resultSet.gettimestamp (1); // Isso é mais apropriado para evitar alguns possíveis problemas de timestamp java.util.date d = new java.util.date (resultSet.getimestamp (1) .gettime ();
Se você compensar você mesmo, esse é o caso:
Ao armazenar o banco de dados, você pode receber o tipo java.util.date e usar o método getTime () para obter o valor longo que representa o objeto Data e, em seguida, use esse valor longo para construir um objeto de registro de data e hora para armazená -lo no banco de dados.
Ao buscar o banco de dados de armazenamento, você pode primeiro obter o registro de data e hora e usar seu método getTime () para obter o valor longo e depois usar esse valor longo para construir um objeto java.util.date, para que você possa operar nesse objeto de data. É melhor dizer novo SimpleTimeFormat ("AAAA-MM-DD HH: MM: SS"). Formato (), etc.