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();
}
}
}
}
}




