Java 8 के java.time पैकेज में LocalDateTime नामक एक क्लास है जिसका उपयोग लोकल डेट और टाइम का वर्तमान मान प्राप्त करने के लिए किया जाता है। इसका उपयोग करके, डेट और टाइम वैल्यूज़ के अलावा आप अन्य डेट और टाइम फील्ड्स जैसे डे-ऑफ-ईयर, डे-ऑफ-वीक, और वीक-ऑफ-ईयर भी प्राप्त कर सकते हैं।
कॉलम में लोकल टाइम सेट करना
टेबल में एक कॉलम में लोकल डेट और टाइम वैल्यू सेट करने के लिए:
- LocalDateTime ऑब्जेक्ट प्राप्त करें - आप LocalDateTime ऑब्जेक्ट को now() स्टेटिक मेथड को इनवोक करके प्राप्त कर सकते हैं:
// LocalDateTime ऑब्जेक्ट प्राप्त करना LocalDateTime localDateTime = LocalDateTime.now();
- उपरोक्त प्राप्त LocalDateTime से LocalDate और LocalTime ऑब्जेक्ट्स प्राप्त करें:
LocalDate localDate = localDateTime.toLocalDate(); LocalTime localTime = localDateTime.toLocalTime()
- अब, LocalDate और LocalTime ऑब्जेक्ट्स को क्रमशः java.sql.Date और java.sql.Time क्लासेज के valueOf() मेथड में पास करें:
java.sql.Date date = java.sql.Date.valueOf(localDate); java.sql.Time time = java.sql.Time.valueOf(localTime);
उदाहरण
आइए MySQL डेटाबेस में dispatches नाम से एक टेबल बनाएं:
CREATE TABLE dispatches(
ProductName VARCHAR(255),
CustomerName VARCHAR(255),
DispatchDate date,
DeliveryTime time,
Price INT,
Location VARCHAR(255)
);
अब, INSERT स्टेटमेंट्स का उपयोग करके dispatches टेबल में 5 रिकॉर्ड डालें:
insert into dispatches values('Key-Board', 'Raja', DATE('2019-09-01'), TIME('11:00:00'), 7000, 'Hyderabad');
insert into dispatches values('Earphones', 'Roja', DATE('2019-05-01'), TIME('11:00:00'), 2000, 'Vishakhapatnam');
insert into dispatches values('Mouse', 'Puja', DATE('2019-03-01'), TIME('10:59:59'), 3000, 'Vijayawada');
insert into dispatches values('Mobile', 'Vanaja', DATE('2019-03-01'), TIME('10:10:52'), 9000, 'Chennai');
insert into dispatches values('Headset', 'Jalaja', DATE('2019-04-06'), TIME('11:08:59'), 6000, 'Goa');
निम्न JDBC प्रोग्राम आवश्यक मान पास करके dispatches टेबल में एक नया रिकॉर्ड डालता है। यहां, हम वर्तमान लोकल डेट और टाइम वैल्यूज़ प्राप्त कर रहे हैं और उन्हें टेबल के Date और Time कॉलम के मान के रूप में डाल रहे हैं।
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.time.LocalDateTime;
public class settingLocatDate {
public static void main(String args[]) throws SQLException {
// ड्राइवर रजिस्टर करना
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
// कनेक्शन प्राप्त करना
String mysqlUrl = "jdbc:mysql://localhost/mydatabase";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
// LocalDateTime ऑब्जेक्ट प्राप्त करना
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime.toString());
// लोकल से SQL में डेट और टाइम वैल्यूज़ कन्वर्ट करना
java.sql.Date date = java.sql.Date.valueOf(localDateTime.toLocalDate());
java.sql.Time time = java.sql.Time.valueOf(localDateTime.toLocalTime());
// प्रिपेयर्ड स्टेटमेंट बनाना
String query = "INSERT INTO Dispatches VALUES (?, ?, ?, ?, ?, ?)";
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setString(1, "Watch");
pstmt.setString(2, "Rajan");
pstmt.setDate(3, date);
pstmt.setObject(4, time);
pstmt.setInt(5, 4000);
pstmt.setString(6, "Chennai");
pstmt.execute();
System.out.println("Rows inserted ....");
// मान पुनर्प्राप्त करना
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from dispatches");
while(rs.next()) {
System.out.println("Product Name: "+rs.getString("ProductName"));
System.out.println("Customer Name: "+rs.getString("CustomerName"));
System.out.println("Date Of Dispatch: "+rs.getDate("DispatchDate"));
System.out.println("Delivery Time: "+rs.getTime("DeliveryTime"));
System.out.println("Location: "+rs.getString("Location"));
System.out.println();
}
}
}
आउटपुट
Connection established...... 2019-05-14T15:48:42.457 Rows inserted .... Product Name: Key-Board Customer Name: Raja Date Of Dispatch: 2019-09-01 Delivery Time: 11:00:00 Location: Hyderabad ... Product Name: Watch Customer Name: Rajan Date Of Dispatch: 2019-05-14 Delivery Time: 15:48:42 Location: Chennai
नया रिकॉर्ड वर्तमान लोकल डेट और टाइम के साथ डाला गया है।