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দিয়ে সমাপ্ত হয়।
সারাংশ:
TimestampথেকেLocalDateTimeএ রূপান্তর করতেtoLocalDateTime()মেথড ব্যবহার করুন।TimestampথেকেZonedDateTimeএ রূপান্তর করতে প্রথমেLocalDateTimeএ রূপান্তর করুন এবং তারপর সময় অঞ্চল (যেমনZoneId) নির্ধারণ করুন।ZoneId.of("UTC")ব্যবহার করে আপনি UTC টাইম জোনেZonedDateTimeপেতে পারেন।
এভাবে আপনি Timestamp থেকে LocalDateTime বা ZonedDateTime এ রূপান্তর করতে পারবেন এবং প্রয়োজন অনুসারে বিভিন্ন সময় অঞ্চল বা UTC সময় ব্যবহার করতে পারবেন।
Read more