ホームページ >データベース >mysql チュートリアル >Java と MySQL は日付時刻とタイムスタンプをどのように処理しますか?

Java と MySQL は日付時刻とタイムスタンプをどのように処理しますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-10 00:53:11316ブラウズ

How Do Java and MySQL Handle Datetimes and Timestamps?

Java での MySQL の日時とタイムスタンプの操作

Java アプリケーションから MySQL データベースの日時とタイムスタンプの両方を操作する場合、次のことが不可欠です。これらのデータ型が両方の言語でどのように表現され、処理されるかを理解する

Java 表現

Java では、通常、日付は java.util.Date クラスを使用して表現されます。このクラスは、日付と時刻の情報をミリ秒の精度でカプセル化します。

MySQL 表現

MySQL には、次の 3 つの主要な日付と時刻のデータ型があります。

  • DATE: 日付部分 (年、月、日) のみを保存します。
  • TIME: 時間部分のみを保存します。 (時、分、秒)。
  • TIMESTAMP: 日付と時刻の両方を保存します。 Parts.

Java と MySQL 間の相互作用

MySQL から Java に TIMESTAMP 値を取得すると、結果は java.sql.Timestamp オブジェクトに格納されます。これは java.util.Date のサブクラスです。 PreparedStatement を使用して MySQL に日付を挿入する場合、setTimestamp() メソッドを使用してパラメータ値を Timestamp オブジェクトとして設定する必要があります。

コード例

Java から MySQL の日付時刻とタイムスタンプを操作する方法については、次の点を考慮してください。 code:

import java.sql.*;

public class DatetimeExample {

    public static void main(String[] args) throws SQLException {
        // Establish a connection to the MySQL database
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/database_name", "username", "password");

        // Get a timestamp object representing the current date and time
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());

        // Create a prepared statement to insert data into the database
        PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO events (event_date, event_time) VALUES (?, ?)");

        // Set the timestamp value as the first parameter
        preparedStatement.setTimestamp(1, timestamp);

        // Set the second parameter as the time part of the timestamp
        preparedStatement.setTime(2, new Time(timestamp.getTime()));

        // Execute the insert statement
        preparedStatement.executeUpdate();

        // Retrieve the inserted data using a result set
        ResultSet resultSet = preparedStatement.executeQuery("SELECT event_date, event_time FROM events WHERE event_id = (SELECT LAST_INSERT_ID())");

        // Get the timestamp from the result set
        Timestamp retrievedTimestamp = resultSet.getTimestamp("event_date");

        // Convert the timestamp to a Java date
        Date retrievedDate = new Date(retrievedTimestamp.getTime());

        // Print the retrieved date and time
        System.out.println("Retrieved date: " + retrievedDate);
        System.out.println("Retrieved time: " + new Time(retrievedTimestamp.getTime()));
    }
}

この例では、Timestamp オブジェクトを使用して、日付と時刻の両方の部分を MySQL データベースに挿入し、それらを Java の Date および Time オブジェクトとして取得する方法を示します。

以上がJava と MySQL は日付時刻とタイムスタンプをどのように処理しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。