কম্পিউটার

কিভাবে জাভাতে LocalDateTime ক্লাস ব্যবহার করে একটি টেবিলে স্থানীয় তারিখ/সময় সেট করবেন?


java.time Java8-এর প্যাকেজ LocalDateTime নামের একটি ক্লাস প্রদান করে স্থানীয় তারিখ এবং সময়ের বর্তমান মান পেতে ব্যবহৃত হয়। তারিখ এবং সময়ের মানগুলি ছাড়াও এটি ব্যবহার করে আপনি অন্যান্য তারিখ এবং সময় ক্ষেত্রগুলিও পেতে পারেন, যেমন বছরের-দিন, সপ্তাহের দিন এবং বছরের সপ্তাহ৷

স্থানীয় সময় একটি কলামে সেট করা

একটি টেবিলের একটি কলামে স্থানীয় তারিখ এবং সময়ের মান সেট করতে -

  • LocalDateTime অবজেক্টটি পান − আপনি LocalDateTime পেতে পারেন −
  • হিসাবে স্থির পদ্ধতি now() invoking দ্বারা অবজেক্ট
//Getting the LocalDateTime object
LocalDateTime localDateTime = LocalDateTime.now();
  • স্থানীয় তারিখ পান এবং স্থানীয় সময় উপরোক্ত থেকে বস্তুগুলি প্রাপ্ত স্থানীয় তারিখের সময় যেমন -
LocalDate localDate = localDateTime.toLocalDate();
LocalTime localTime = localDateTime.toLocalTime()
  • এখন, স্থানীয় তারিখ পাস করুন এবং স্থানীয় সময় valueOf() এর বস্তু java.sql.Date এর পদ্ধতি এবং java.sql.Time ক্লাস যথাক্রমে-
  • হিসাবে
java.sql.Date date = java.sql.Date.valueOf(localDate);
java.sql.Time time = java.sql.Time.valueOf(localTime);

উদাহরণ

চলুন ডিসপ্যাচ নামের একটি টেবিল তৈরি করি MySQL ডাটাবেসে নিম্নরূপ CREATE স্টেটমেন্ট ব্যবহার করে -

CREATE TABLE dispatches(
   ProductName VARCHAR(255),
   CustomerName VARCHAR(255),
   DispatchDate date,
   DeliveryTime time,
   Price INT,
   Location VARCHAR(255)
);

এখন, আমরা প্রেরণে 5টি রেকর্ড সন্নিবেশ করব INSERT স্টেটমেন্ট-

ব্যবহার করে টেবিল
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 প্রোগ্রাম অনুসরণ করে প্রেরণে একটি নতুন রেকর্ড সন্নিবেশ করায় প্রয়োজনীয় মান পাস করে টেবিল। এখানে, আমরা বর্তমান স্থানীয় তারিখ এবং সময়ের মানগুলি পাচ্ছি এবং টেবিলের তারিখ এবং সময় কলামের মান হিসাবে সেগুলি সন্নিবেশিত করছি৷

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 {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/mydatabase";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Getting the LocalDateTime object
      LocalDateTime localDateTime = LocalDateTime.now();
      System.out.println(localDateTime.toString());
      //Converting date and time values from local to SQL
      java.sql.Date date = java.sql.Date.valueOf(localDateTime.toLocalDate());
      java.sql.Time time = java.sql.Time.valueOf(localDateTime.toLocalTime());
      //Creating a 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 ....");
      //Retrieving values
      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. স্থানীয় তারিখ API ক্লাস ব্যবহার করে অ্যান্ড্রয়েডে স্থানীয় তারিখ কীভাবে পাবেন?

  2. অফসেট ডেট টাইম API ক্লাস ব্যবহার করে অ্যান্ড্রয়েডে অফসেট ডেটটাইম স্থানীয় তারিখ কীভাবে পাবেন?

  3. স্থানীয় সময় API ক্লাস ব্যবহার করে অ্যান্ড্রয়েডে স্থানীয় সময় কীভাবে পাবেন?

  4. LocalDateTime API ক্লাস ব্যবহার করে অ্যান্ড্রয়েডে স্থানীয় সময় এবং তারিখ কীভাবে পাবেন?