Heim >Datenbank >MySQL-Tutorial >Wie gehen Java und MySQL mit Datumsangaben und Zeitstempeln um?

Wie gehen Java und MySQL mit Datumsangaben und Zeitstempeln um?

Barbara Streisand
Barbara StreisandOriginal
2024-12-10 00:53:11313Durchsuche

How Do Java and MySQL Handle Datetimes and Timestamps?

Interaktion mit MySQL-Datumszeiten und Zeitstempeln in Java

Bei der Arbeit mit Datums- und Zeitstempeln in einer MySQL-Datenbank aus einer Java-Anwendung ist dies unerlässlich um zu verstehen, wie diese Datentypen in beiden Umgebungen dargestellt und verarbeitet werden.

Java Darstellung

In Java werden Datumsangaben typischerweise mit der Klasse java.util.Date dargestellt, die sowohl Datums- als auch Zeitinformationen mit Millisekundengenauigkeit kapselt.

MySQL-Darstellung

In MySQL gibt es drei Hauptdaten für Datum und Uhrzeit Typen:

  • DATUM: Speichert nur den Datumsteil (Jahr, Monat und Tag).
  • ZEIT: Speichert nur den Zeitteil (Stunden, Minuten und Sekunden).
  • TIMESTAMP: Speichert sowohl das Datum als auch die Uhrzeit.

Interaktion zwischen Java und MySQL

Beim Abrufen eines TIMESTAMP-Werts von MySQL in Java wird das Ergebnis in einem java.sql.Timestamp-Objekt gespeichert, das eine Unterklasse von java.util.Date ist. Beim Einfügen eines Datums in MySQL mithilfe eines PreparedStatements sollte die Methode setTimestamp() verwendet werden, um den Parameterwert als Timestamp-Objekt festzulegen.

Beispielcode

Zur Veranschaulichung Wie Sie mit MySQL-Datums- und Zeitstempeln aus Java interagieren, sehen Sie sich den folgenden Code an:

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

In diesem Beispiel demonstrieren wir wie man Timestamp-Objekte verwendet, um sowohl die Datums- als auch die Uhrzeitteile in eine MySQL-Datenbank einzufügen und sie als Datums- und Uhrzeitobjekte in Java abzurufen.

Das obige ist der detaillierte Inhalt vonWie gehen Java und MySQL mit Datumsangaben und Zeitstempeln um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn