java.sql.Timestamp থেকে LocalDateTime বা ZonedDateTime এ রূপান্তর

Compatibility with Legacy Date/Time API - জাভা টাইম প্যাকেজ (Java.time Package) - Java Technologies

308

java.sql.Timestamp হল JDBC (Java Database Connectivity) এর অংশ, যা ডাটাবেসে তারিখ এবং সময় স্টোর করতে ব্যবহৃত হয়। এটি java.util.Date এর একটি subclass এবং LocalDateTime বা ZonedDateTime এ রূপান্তর করা সম্ভব।

যেহেতু Timestamp একটি UTC-এ ভিত্তি করে সময় ধারণ করে, তাই আপনি এটি LocalDateTime বা ZonedDateTime এ রূপান্তর করতে পারেন।

এখানে Timestamp থেকে LocalDateTime বা ZonedDateTime এ রূপান্তর করার উদাহরণ দেখানো হয়েছে:

1. Timestamp থেকে LocalDateTime এ রূপান্তর:

LocalDateTime ক্লাসটি নির্দিষ্ট তারিখ এবং সময় ধারণ করে, তবে এটি কোনো সময় অঞ্চল সম্পর্কিত তথ্য ধারণ করে না। যদি আপনি একটি Timestamp অবজেক্টকে LocalDateTime এ রূপান্তর করতে চান, আপনি toLocalDateTime() মেথড ব্যবহার করতে পারেন।

উদাহরণ: Timestamp থেকে LocalDateTime এ রূপান্তর:

import java.sql.Timestamp;
import java.time.LocalDateTime;

public class TimestampToLocalDateTime {
    public static void main(String[] args) {
        // Create a Timestamp object (current time)
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        
        // Convert Timestamp to LocalDateTime
        LocalDateTime localDateTime = timestamp.toLocalDateTime();
        
        System.out.println("Timestamp: " + timestamp);
        System.out.println("Converted LocalDateTime: " + localDateTime);
    }
}

আউটপুট:

Timestamp: 2024-12-23 14:35:20.123
Converted LocalDateTime: 2024-12-23T14:35:20.123

ব্যাখ্যা:

  • timestamp.toLocalDateTime(): এটি Timestamp অবজেক্টকে LocalDateTime এ রূপান্তরিত করে, যা তারিখ এবং সময়ের তথ্য ধারণ করে কিন্তু সময় অঞ্চল সম্পর্কিত তথ্য নয়।

2. Timestamp থেকে ZonedDateTime এ রূপান্তর:

ZonedDateTime ক্লাসটি LocalDateTime এর মতো, তবে এটি সময় অঞ্চল (timezone) সম্পর্কিত তথ্য ধারণ করে। Timestamp থেকে ZonedDateTime এ রূপান্তর করতে, প্রথমে Timestamp কে LocalDateTime এ রূপান্তর করতে হবে এবং তারপর তা ZonedDateTime এ কনভার্ট করতে হবে।

উদাহরণ: Timestamp থেকে ZonedDateTime এ রূপান্তর:

import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class TimestampToZonedDateTime {
    public static void main(String[] args) {
        // Create a Timestamp object (current time)
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        
        // Convert Timestamp to LocalDateTime
        LocalDateTime localDateTime = timestamp.toLocalDateTime();
        
        // Convert LocalDateTime to ZonedDateTime with a specific time zone
        ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.of("Asia/Kolkata"));
        
        System.out.println("Timestamp: " + timestamp);
        System.out.println("Converted ZonedDateTime: " + zonedDateTime);
    }
}

আউটপুট:

Timestamp: 2024-12-23 14:35:20.123
Converted ZonedDateTime: 2024-12-23T14:35:20.123+05:30[Asia/Kolkata]

ব্যাখ্যা:

  • timestamp.toLocalDateTime(): এটি Timestamp অবজেক্টকে LocalDateTime এ রূপান্তর করে।
  • localDateTime.atZone(ZoneId.of("Asia/Kolkata")): এটি LocalDateTime কে Asia/Kolkata টাইম জোনের ZonedDateTime এ রূপান্তরিত করে।

3. Timestamp থেকে UTC ZonedDateTime এ রূপান্তর:

আপনি যদি UTC (Coordinated Universal Time) সময় অঞ্চলে ZonedDateTime রূপান্তর করতে চান, তাহলে আপনি ZoneId.of("UTC") ব্যবহার করতে পারেন।

উদাহরণ: Timestamp থেকে UTC ZonedDateTime এ রূপান্তর:

import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;

public class TimestampToUTCZonedDateTime {
    public static void main(String[] args) {
        // Create a Timestamp object (current time)
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        
        // Convert Timestamp to LocalDateTime
        LocalDateTime localDateTime = timestamp.toLocalDateTime();
        
        // Convert LocalDateTime to ZonedDateTime with UTC time zone
        ZonedDateTime zonedDateTimeUTC = localDateTime.atZone(ZoneId.of("UTC"));
        
        System.out.println("Timestamp: " + timestamp);
        System.out.println("Converted UTC ZonedDateTime: " + zonedDateTimeUTC);
    }
}

আউটপুট:

Timestamp: 2024-12-23 14:35:20.123
Converted UTC ZonedDateTime: 2024-12-23T09:35:20.123Z[UTC]

ব্যাখ্যা:

  • ZoneId.of("UTC"): এটি ZonedDateTime কে UTC টাইম জোনে রূপান্তর করে, যা Z দিয়ে সমাপ্ত হয়।

সারাংশ:

  1. Timestamp থেকে LocalDateTime এ রূপান্তর করতে toLocalDateTime() মেথড ব্যবহার করুন।
  2. Timestamp থেকে ZonedDateTime এ রূপান্তর করতে প্রথমে LocalDateTime এ রূপান্তর করুন এবং তারপর সময় অঞ্চল (যেমন ZoneId) নির্ধারণ করুন।
  3. ZoneId.of("UTC") ব্যবহার করে আপনি UTC টাইম জোনে ZonedDateTime পেতে পারেন।

এভাবে আপনি Timestamp থেকে LocalDateTime বা ZonedDateTime এ রূপান্তর করতে পারবেন এবং প্রয়োজন অনুসারে বিভিন্ন সময় অঞ্চল বা UTC সময় ব্যবহার করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...