Timestamp
日本語 | 日付印 |
英語 | timestamp |
ふりがな | たいむすたんぷ |
フリガナ | タイムスタンプ |
J2SEに含まれるクラスのひとつ。パッケージも含めたクラス名はjava.sql.Timestamp。
日付を格納するためのクラス。java.util.Dateクラスのサブクラス。
SQLのTIMESTAMP型に対応したクラス。
SQLのプリペアードステートメントに値をセットする場合には、PreparedStatementインターフェイスのsetTimestamp()メソッド及びgetTimestamp()メソッドを使用する。
Calendarクラスから変換する場合には、Timestampクラスの引数にgetTimeInMillis()メソッドの戻り値を渡せばよい。また、Timestampクラスはjava.util.Dateクラスのサブクラスのため、Calendarクラスへの変換等はjava.util.Dateクラスと同様に行える。
日付を格納するためのクラス。java.util.Dateクラスのサブクラス。
SQLのTIMESTAMP型に対応したクラス。
SQLのプリペアードステートメントに値をセットする場合には、PreparedStatementインターフェイスのsetTimestamp()メソッド及びgetTimestamp()メソッドを使用する。
Calendarクラスから変換する場合には、Timestampクラスの引数にgetTimeInMillis()メソッドの戻り値を渡せばよい。また、Timestampクラスはjava.util.Dateクラスのサブクラスのため、Calendarクラスへの変換等はjava.util.Dateクラスと同様に行える。
参考サイト
// Sample.java
import java.util.Calendar;
import java.sql.Timestamp;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Sample
{
public static void main( String[] args )
{
Connection conn = null;
PreparedStatement psCreate = null;
PreparedStatement psInsert = null;
Statement stmt = null;
ResultSet rs = null;
try
{
// まずJDBCドライバを読み込みます。
Class.forName( "org.hsqldb.jdbcDriver" );
// JDBCに接続してコネクションを取得します。
String url = "jdbc:hsqldb:mem:aname";
String user = "sa";
String password = "";
conn = DriverManager.getConnection( url, user, password );
// テスト用テーブルを作ります。
// 列の型をTIMESTAMP型にします。
psCreate = null;
final String SQL_CREATE = "CREATE TABLE TABLE_TEST( INSERT_DATE TIMESTAMP );";
psCreate = conn.prepareStatement( SQL_CREATE );
psCreate.execute();
// そのテーブルに1行INSERTします。
final String SQL_INSERT = "INSERT INTO TABLE_TEST VALUES( ? );";
psInsert = conn.prepareStatement( SQL_INSERT );
// 今日の日付をセットします。
Timestamp now = new Timestamp( Calendar.getInstance().getTimeInMillis() );
psInsert.setTimestamp( 1, now );
psInsert.execute();
// INSERTしたデータをSELECTでクエリーします。
stmt = conn.createStatement();
final String SQL_SELECT = "SELECT INSERT_DATE FROM TABLE_TEST;";
rs = stmt.executeQuery( SQL_SELECT );
while( rs.next() )
{
Timestamp insert_date = rs.getTimestamp( "INSERT_DATE" );
System.out.println( insert_date );
}
// 2005-06-27 20:02:12.218
}
catch( SQLException e )
{
// SQLの実行で問題があった場合に投げられます。
e.printStackTrace();
}
catch( ClassNotFoundException e )
{
// JDBCドライバが存在しなかった場合に投げられます。
e.printStackTrace();
}
finally
{
if( rs != null )
{
try
{
rs.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( stmt != null )
{
try
{
stmt.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( psInsert != null )
{
try
{
psInsert.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( psCreate != null )
{
try
{
psCreate.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( conn != null )
{
try
{
conn.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
}
}
}
import java.util.Calendar;
import java.sql.Timestamp;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Sample
{
public static void main( String[] args )
{
Connection conn = null;
PreparedStatement psCreate = null;
PreparedStatement psInsert = null;
Statement stmt = null;
ResultSet rs = null;
try
{
// まずJDBCドライバを読み込みます。
Class.forName( "org.hsqldb.jdbcDriver" );
// JDBCに接続してコネクションを取得します。
String url = "jdbc:hsqldb:mem:aname";
String user = "sa";
String password = "";
conn = DriverManager.getConnection( url, user, password );
// テスト用テーブルを作ります。
// 列の型をTIMESTAMP型にします。
psCreate = null;
final String SQL_CREATE = "CREATE TABLE TABLE_TEST( INSERT_DATE TIMESTAMP );";
psCreate = conn.prepareStatement( SQL_CREATE );
psCreate.execute();
// そのテーブルに1行INSERTします。
final String SQL_INSERT = "INSERT INTO TABLE_TEST VALUES( ? );";
psInsert = conn.prepareStatement( SQL_INSERT );
// 今日の日付をセットします。
Timestamp now = new Timestamp( Calendar.getInstance().getTimeInMillis() );
psInsert.setTimestamp( 1, now );
psInsert.execute();
// INSERTしたデータをSELECTでクエリーします。
stmt = conn.createStatement();
final String SQL_SELECT = "SELECT INSERT_DATE FROM TABLE_TEST;";
rs = stmt.executeQuery( SQL_SELECT );
while( rs.next() )
{
Timestamp insert_date = rs.getTimestamp( "INSERT_DATE" );
System.out.println( insert_date );
}
// 2005-06-27 20:02:12.218
}
catch( SQLException e )
{
// SQLの実行で問題があった場合に投げられます。
e.printStackTrace();
}
catch( ClassNotFoundException e )
{
// JDBCドライバが存在しなかった場合に投げられます。
e.printStackTrace();
}
finally
{
if( rs != null )
{
try
{
rs.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( stmt != null )
{
try
{
stmt.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( psInsert != null )
{
try
{
psInsert.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( psCreate != null )
{
try
{
psCreate.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
if( conn != null )
{
try
{
conn.close();
}
catch( SQLException e )
{
// 各close()メソッドからもSQLException例外が
// 投げられるので、拾っておきます。
e.printStackTrace();
}
}
}
}
}
// Sample.java import java.util.Calendar; import java.sql.Timestamp; import java.sql.DriverManager; import java.sql.Connection; import java.sql.Statement; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class Sample { public static void main( String[] args ) { Connection conn = null; PreparedStatement psCreate = null; PreparedStatement psInsert = null; Statement stmt = null; ResultSet rs = null; try { // まずJDBCドライバを読み込みます。 Class.forName( "org.hsqldb.jdbcDriver" ); // JDBCに接続してコネクションを取得します。 String url = "jdbc:hsqldb:mem:aname"; String user = "sa"; String password = ""; conn = DriverManager.getConnection( url, user, password ); // テスト用テーブルを作ります。 // 列の型をTIMESTAMP型にします。 psCreate = null; final String SQL_CREATE = "CREATE TABLE TABLE_TEST( INSERT_DATE TIMESTAMP );"; psCreate = conn.prepareStatement( SQL_CREATE ); psCreate.execute(); // そのテーブルに1行INSERTします。 final String SQL_INSERT = "INSERT INTO TABLE_TEST VALUES( ? );"; psInsert = conn.prepareStatement( SQL_INSERT ); // 今日の日付をセットします。 Timestamp now = new Timestamp( Calendar.getInstance().getTimeInMillis() ); psInsert.setTimestamp( 1, now ); psInsert.execute(); // INSERTしたデータをSELECTでクエリーします。 stmt = conn.createStatement(); final String SQL_SELECT = "SELECT INSERT_DATE FROM TABLE_TEST;"; rs = stmt.executeQuery( SQL_SELECT ); while( rs.next() ) { Timestamp insert_date = rs.getTimestamp( "INSERT_DATE" ); System.out.println( insert_date ); } // 2005-06-27 20:02:12.218 } catch( SQLException e ) { // SQLの実行で問題があった場合に投げられます。 e.printStackTrace(); } catch( ClassNotFoundException e ) { // JDBCドライバが存在しなかった場合に投げられます。 e.printStackTrace(); } finally { if( rs != null ) { try { rs.close(); } catch( SQLException e ) { // 各close()メソッドからもSQLException例外が // 投げられるので、拾っておきます。 e.printStackTrace(); } } if( stmt != null ) { try { stmt.close(); } catch( SQLException e ) { // 各close()メソッドからもSQLException例外が // 投げられるので、拾っておきます。 e.printStackTrace(); } } if( psInsert != null ) { try { psInsert.close(); } catch( SQLException e ) { // 各close()メソッドからもSQLException例外が // 投げられるので、拾っておきます。 e.printStackTrace(); } } if( psCreate != null ) { try { psCreate.close(); } catch( SQLException e ) { // 各close()メソッドからもSQLException例外が // 投げられるので、拾っておきます。 e.printStackTrace(); } } if( conn != null ) { try { conn.close(); } catch( SQLException e ) { // 各close()メソッドからもSQLException例外が // 投げられるので、拾っておきます。 e.printStackTrace(); } } } } }