জাভাতে তারিখ ও সময় নিয়ে প্রোগ্রাম তৈরি
যেকোনো প্রোগ্রামিং ল্যাঙ্গুয়েজে তারিখ ও সময় নিয়ে কাজ করা একটি সাধারণ বিষয়। জাভাতে তারিখ ও সময় নিয়ে কাজ করার জন্য Date ক্লাস ব্যবহার হয়। এই পর্বে জাভা দিয়ে কীভাবে তারিখ ও সময় নিয়ে কাজ করা যায় সে সংক্রান্ত বেশ কয়েকটি প্রোগ্রাম দেখানো হবে। জাভাতে তারিখ ও সময় নিয়ে কাজ করার জন্য অনেকগুলো ক্লাস ফাইল তৈরি করা আছে। যেমন
1. Date
2. DateFormat
3. DateFormat.Field
4. DateFormatProvider
5. DateFormatSymbols
6. DateFormatSymbolsProvider
7. DateFormatter
8. DateTimeAtCompleted
9. DateTimeAtCreation
10. DateTimeAtProcessing
11. DateTimeException
12. DateTimeFormatter
13. DateTimeFormatterBuilder
14. DateTimeParseException
15. DateTimeSyntax
ক্লাসগুলোকে আমাদের প্রয়োজনমতো ব্যবহার করে কাক্সিক্ষত আউটপুট পেতে পারি। যথারীতি আমাদের প্রোগ্রামগুলো আমরা G:\ ড্রাইভের javaফোল্ডারে সেভ করব। প্রোগ্রামগুলো রান করার পদ্ধতি অন্যান্য জাভা প্রোগ্রামের মতোই এবং প্রোগ্রামগুলো রান করার জন্য জাভার Jdk12.0.2 ভার্সন ব্যবহার করব।
১ম প্রোগ্রাম
CurrentDateTime.java
import java.time.LocalDateTime;
public class CurrentDateTime
{
public static void main(String[] args)
{
LocalDateTime current = LocalDateTime.now();
System.out.println("Current Date and Time is: " + current);
}
}
উপরের প্রোগ্রামের আউটপুটে লোকাল কমপিউটারের সিস্টেমের তারিখসহ টাইম দেখাবে। এখানে সময় মিলিসেকেন্ডসহ প্রদর্শন করে। আমরা ইচ্ছা করলে তারিখ ও সময়কে নিজের মতো প্রদর্শন করতে পারি। যেমন তারিখের ফরম্যাট পরিবর্তন এবং মিলিসেকেন্ড বাদ দিয়ে সময় প্রদর্শন করা যায়। নিচের প্রোগ্রামটিতে মিডিয়াম এবং শর্ট পদ্ধতিতে তারিখ এবং সময় দেখানো হয়েছে।
২য় প্রোগ্রাম
CurrentDateTime2.java
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
public class CurrentDateTime2
{
public static void main(String[] args)
{
LocalDateTime current = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
String formatted = current.format(formatter);
System.out.println("Current Date is: " + formatted);
formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);
formatted = current.format(formatter);
System.out.println("Current Date is: " + formatted);
}
}
উপরের চিত্রের ১ম লাইনে মিডিয়াম এবং ২য় লাইনে শর্ট পদ্ধতিতে তারিখ এবং সময় দেখানো হয়েছে।
৩য় প্রোগ্রাম
DateEx.java
import java.util.*;
public class DateEx
{
public static void main (String[] args)
{
Date d1 = new Date();
System.out.println("Current date is " + d1);
}
}
৪র্থ প্রোগ্রাম
DateEx2.java
import java.util.*;
public class DateEx2
{
public static void main(String[] args)
{
Date d1 = new Date(2000, 11, 21);
Date d2 = new Date(); // Current date
Date d3 = new Date(2010, 1, 3);
System.out.println("Miliseconds from Jan 1 "+
"1970 to date d1 is " + d1.getTime());
System.out.println("Before setting "+d2);
d2.setTime(854587433443L);
System.out.println("After setting "+d2);
}
}
উপরের প্রোগ্রামের আউটপুটের ১ম লাইনে ১ জানুয়ারি ১৯৭০ সাল থেকে এ পর্যন্ত কত মিলিসেকেন্ড হয়েছে তা দেখাচ্ছে। ২য় লাইনে বর্তমান সময় প্রদর্শনের পর ৩য় লাইনে সেট করা দেয়া সময় দেখাচ্ছে।
৫ম প্রোগ্রাম
DateCompare.java
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
class DateCompare {
public static void main(String args[]) throws ParseException {
SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy");
Date dt_1 = objSDF.parse("20-08-2018");
Date dt_2 = objSDF.parse("26-12-2019");
System.out.println("Date1 : " + objSDF.format(dt_1));
System.out.println("Date2 : " + objSDF.format(dt_2));
if (dt_1.compareTo(dt_2) > 0) {
System.out.println("Date 1 occurs after Date 2");
} else if (dt_1.compareTo(dt_2) < 0) {
System.out.println("Date 1 occurs before Date 2");
} // compareTo method returns the value less than 0 if this Date is before the Date argument;
else if (dt_1.compareTo(dt_2) == 0) {
System.out.println("Both are same dates");
}
else {
System.out.println("You seem to be a time traveller !!");
}
}
}
উপরের প্রোগ্রামটিতে ১ম ও ২য় লাইনে প্রদত্ত দুটি তারিখের মধ্যে তুলনা করে ৩য় লাইনের মাধ্যমে দেখানো হচ্ছে কোন তারিখটি আগের। তারিখ নিয়ে আরেকটি পদ্ধতিতে কাজ করা যায় Calendar ক্লাস দিয়ে। যেমন
৬ষ্ঠ প্রোগ্রাম
CalendarEx.java
import java.util.Calendar;
public class CalendarEx {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
System.out.println("The current date is : " + calendar.getTime());
calendar.add(Calendar.DATE, -15);
System.out.println("15 days ago: " + calendar.getTime());
calendar.add(Calendar.MONTH, 4);
System.out.println("4 months later: " + calendar.getTime());
calendar.add(Calendar.YEAR, 2);
System.out.println("2 years later: " + calendar.getTime());
int min = calendar.getMinimum(Calendar.DAY_OF_WEEK);
System.out.println("Minimum number of days in week: " + min);
min = calendar.getMinimum(Calendar.WEEK_OF_YEAR);
System.out.println("Minimum number of weeks in year: " + min);
int max = calendar.getMaximum(Calendar.DAY_OF_WEEK);
System.out.println("Maximum number of days in a week: " + max);
max = calendar.getMaximum(Calendar.WEEK_OF_YEAR);
System.out.println("Maximum number of weeks in a year: " + max);
} }
০ টি মন্তব্য