কম্পিউটার টিউটোরিয়াল

জাভাতে LocalDateTime ক্লাস ব্যবহার করে টেবিলে লোকাল ডেট/টাইম সেট কীভাবে করবেন?


জাভা ৮-এর java.time প্যাকেজে LocalDateTime নামে একটি ক্লাস রয়েছে যা বর্তমান লোকাল ডেট এবং টাইমের মান পাওয়ার জন্য ব্যবহৃত হয়। ডেট এবং টাইমের মান ছাড়াও এর মাধ্যমে আপনি অন্যান্য ডেট-টাইম ফিল্ডও পেতে পারেন, যেমন day-of-year, day-of-week এবং week-of-year।

একটি কলামে লোকাল টাইম সেট করা

একটি টেবিলের কলামে লোকাল ডেট এবং টাইম মান সেট করতে:

  • LocalDateTime অবজেক্ট প্রাপ্ত করুন - আপনি static now() মেথড আহ্বান করে LocalDateTime অবজেক্ট পেতে পারেন:
// 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) 
);

dispatches টেবিলে ৫টি রেকর্ড ইনসার্ট:

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 টেবিলে একটি নতুন রেকর্ড ইনসার্ট করে বর্তমান লোকাল ডেট এবং টাইম মান ব্যবহার করে:

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()); 
        // Prepared Statement তৈরি 
        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: Earphones 
Customer Name: Roja 
Date Of Dispatch: 2019-05-01 
Delivery Time: 11:00:00 
Location: Vishakhapatnam 
Product Name: Mouse 
Customer Name: Puja 
Date Of Dispatch: 2019-03-01 
Delivery Time: 10:59:59 
Location: Vijayawada 
Product Name: Mobile 
Customer Name: Vanaja 
Date Of Dispatch: 2019-03-01 
Delivery Time: 10:10:52 
Location: Chennai 
Product Name: Headset 
Customer Name: Jalaja 
Date Of Dispatch: 2019-04-06 
Delivery Time: 11:08:59 
Location: Goa 
Product Name: Watch 
Customer Name: Rajan 
Date Of Dispatch: 2019-05-14 
Delivery Time: 15:48:42 
Location: Chennai
  1. এন্ড্রয়েডে LocalDate API ক্লাস ব্যবহার করে লোকাল ডেট পাওয়ার পদ্ধতি

  2. এন্ড্রয়েডে OffsetDateTime API ক্লাস ব্যবহার করে লোকাল ডেট পাওয়ার পদ্ধতি

  3. অ্যান্ড্রয়েডে LocalTime API ক্লাস ব্যবহার করে লোকাল টাইম পাওয়ার পদ্ধতি

  4. অ্যান্ড্রয়েডে LocalDateTime API ক্লাস ব্যবহার করে লোকাল টাইম এবং ডেট পাওয়ার পদ্ধতি