sql >> Databáze >  >> RDS >> Mysql

Konverze časového razítka MySQL na datum Java

Vaše otázka je nejasná a nejednoznačná. Nejednoznačnost časového pásma nechám stranou.

Mám podezření, že nějak získáváte long nebo možná String hodnotu z databáze namísto Date . V JDBC byste normálně chtěli použít vhodné metody k získání datových typů specifických pro DB. MySQL TIMESTAMP datový typ lze získat pomocí ResultSet#getTimestamp() což vám poskytne java.sql.Timestamp což je zase podtřída java.util.Date .

Stručně řečeno, mělo by fungovat následující:

Date date = resultSet.getTimestamp("columnname");

Chcete-li jej dále naformátovat ve formátu čitelném pro člověka, kdykoli jej budete prezentovat koncovému uživateli, použijte SimpleDateFormat . Klikněte na odkaz, obsahuje přehled všech vzorů. Zde je příklad:

String dateString = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);

Chcete-li to udělat obráceně, použijte příslušný SimpleDateFormat#parse() a PreparedStatement#setTimestamp() .



  1. Jak převést MySQL datetime na NSDate?

  2. SQL UNION Cheat Sheet s 10 snadnými a užitečnými tipy

  3. 5 praktických tipů k databázi pro začátečníky

  4. Proč nemohu v dalším výrazu SELECT použít aliasy sloupců?