System.out.println(dtDate.toString());
実行結果: 2007-04-09
DateTime
サポートされる範囲は「1000-01-01 00:00:00」から「9999-12-31 23:59:59」です。 MySQL は DATETIME 値を「YYYY-MM-DD HH:MM:SS」形式で表示しますが、文字列または数値を使用して DATETIME 列に値を割り当てることができます
DateTime と Date の主な違いは、DateTime であることです。日付と時刻の情報を記録できます。 Date は日付情報のみを記録します。表現範囲は次のとおりです: 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 MySql は YYYY-MM-DD HH:MM:SS に従ってデータをフォーマットし、文字列と数値の送信方法を許可します。
たとえば、数値の形式で送信するには:
insert into time_table(CreateDate)values(20070409132013)
このタイプのデータを取得するには、次を使用できます: java.sql.Timestamp タイプ
コードは次のとおりです。 :
コードをコピーします コードは次のとおりです:
public void testDateTime() throws SQLException
{
IDBFace DBFace =DBFactory.createMySqlFace();
DBFace.connect(); DBFace の更新( strDelete);
文字列 strInsert追加
String strInsert =" time_table(CreateDateTime) 値に挿入 (20070409132013)"; from time_table"; S ResultSet rsbuffer = dbface.select (strselect);
while (rsbuffer.next ( )) {
Timestamp Tsbuffer = RSBUFFER.Gettimestamp ("CreateDatetime") ; E System.out.println (tsbuffer.tostring ());
}
DBFace.close();
}
実行結果: 2007-04 -09 13:20:13.0
TimeStamp
タイムスタンプの範囲は、「1970-01-01 00:00:00」から 2037 年の途中までです。TIMESTAMP 列は、日付と時刻を記録するのに役立ちます。 INSERT または UPDATE 操作。テーブル内の最初の TIMESTAMP 列は、値を自分で割り当てない場合、自動的に最新の操作の日付と時刻に設定されます。また、任意の TIMESTAMP 列を現在の日付と時刻に設定することもできます。 NULL 値を割り当てます。
DateTime 型と非常に似ています。
範囲 1970-01-01 –2037、精度 1 秒/
SQL の場合、Timestamp 型の列には値が割り当てられず、列は次のように構築されます。現在の時刻。
NULL 値を送信すると、列に現在の時刻が入力されます。
時間が正しく送信されない場合、列には 0 が入力されます。
Timestamp は DateTime 型よりも小さい記憶領域を必要とし、4 バイトのみ必要ですが、DateTime は 8 バイトを必要とします。
しかし、特別な注意が必要なことが 1 つあります。タイムスタンプは、1970 年から 2037 年の時間範囲のみを表すことができます。
タイムスタンプを使用する場合は、送信された時間データがこの範囲を超えていないことを必ず確認してください。
このコードはDateTimeクラスに関連するものですが、使いたくないので省略しました。 Time:
範囲は「-838:59:59」から「838:59:59」です。ただし、MySQL では TIME 値を「HH:MM:SS」形式で表示します。
Time は時間情報のみを記録し、日付情報は含まれません。
範囲は -838:59:59 ~ 838:59:59 で、MySql はデータを HH:MM:SS でフォーマットし、文字列または数値を入力できます。
コード:
コードをコピー
コードは次のとおりです:
public void testTime() throws SQLException
{
IDBFace =DBFactory.createMySqlFace();
DBFace.connect();
//清空表
String strDelete ="time_table から削除";
DBFace.update(strDelete) ;
//追加
String strInsert ="time_table(CreateTime) 値に挿入(131211)";
DBFace.update(strInsert);
//获取
String strSelect ="select * from time_table";
ResultSet rsBuffer = DBFace.select(strSelect);
while(rsBuffer.next())
{
Time tmBuffer =rsBuffer.getTime("CreateTime");
System.out.println(tmBuffer.toString());
}
DBFace。 close();
}
执行結果: 13:12:11
年
2 桁または 4 桁の形式の年。デフォルトは 4 桁の形式です。 4 桁の形式では、許容値は 1901 ~ 2155 および 0000 です。2 桁の形式では、許容値は 70 ~ 69 で、1970 年から 2069 年までの年を表します。MySQL は YEAR 値を YYYY 形式で表示しますが、次のことができます。文字列または数値を使用して YEAR 列に値を割り当てます。 YEAR タイプは、MySQL 3.22 より前では使用できません。
年には、4 位と 2 位の 2 つの表現方法があります。
の範囲は 1901 ~ 2155
2 位の表現方法で、その後の 2 位のみが表示されます。文字列または数字の形式で入力することを許可します。
public void test Year() throws SQLException
{
IDBFace DBFace =DBFactory.createMySqlFace();
DBFace.connect();
//清空表
String strDelete ="time_table から削除";
DBFace.update(strDelete) ;
//追加
String strInsert ="time_table(Create Year) 値に挿入(2007)";
DBFace.update(strInsert);
//获取
String strSelect ="select * from time_table";
ResultSet rsBuffer = DBFace.select(strSelect);
while(rsBuffer.next())
{
Date dtBuffer =rsBuffer.getDate("Create Year");
System.out.println(dtBuffer.get Year()+1900);
}
DBFace.close();
}
実行結果:2007
必要な説明は:
Date.get Year() メソッドは 1900 年までに何年かを返します。正確な期間を表示するには、1900 を加算する必要があります。
この方法はすでに拡張されています。データと表示の時刻は、いかなる変換も行われずに保存されるが、(1) 時刻データの正当性は個別に公開されている。
(2) システムが必要に応じて時間間隔を条件として設定することもできます。時間間隔は、MySql が提供する API を使用する必要はありません。たとえば、100 万件のデータのうち、評価期間が 1992 年 3 月 12 日から 1992 年 3 月 13 日までの 100 件のデータを転送できない可能性があります。
さらに、MySql は 4.1 の時間精度でわずか数秒に達します。
より細かい時間粒度を考慮する必要があります。 ). これは単なる 1 つの方法であり、追加の問題はまだ説明されていません。
http://www.bkjia.com/PHPjc/327755.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/327755.html
技術記事
MySql の時間の種類には Java に関係する時間の種類 date java.sql.Date Datetime java.sql.Timestamp Timestamp java.sql.Timestamp Time java.sql.Time Year java.sql.Date それ...