আমি কীভাবে বর্তমান তারিখটিকে জাভাতে স্ট্রিংয়ে রূপান্তর করব?
আমি কীভাবে বর্তমান তারিখটিকে জাভাতে স্ট্রিংয়ে রূপান্তর করব?
উত্তর:
String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
// GET DATE & TIME IN ANY FORMAT
import java.util.Calendar;
import java.text.SimpleDateFormat;
public static final String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss";
public static String now() {
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW);
return sdf.format(cal.getTime());
}
Calendarতুলনায় আরও আকাঙ্ক্ষিত Date?
// On the form: dow mon dd hh:mm:ss zzz yyyy
new Date().toString();
একটি DateFormatবাস্তবায়ন ব্যবহার করুন ; যেমন SimpleDateFormat।
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
String data = df.format(new Date());
LocalDate.now()
.toString()
2017-01-23
কাঙ্ক্ষিত / প্রত্যাশিত সময় অঞ্চলটি স্পষ্টভাবে নির্দিষ্ট করা ভাল।
LocalDate.now( ZoneId.of( "America/Montreal" ) )
.toString()
জাভা 8 হিসাবে আধুনিক উপায় এবং পরবর্তীটি জাভা.টাইম ফ্রেমওয়ার্কের সাথে।
সময় অঞ্চল উল্লেখ করুন, যেহেতু যে কোনও মুহুর্তে তারিখটি বিশ্ব জুড়ে পরিবর্তিত হয়।
ZoneId zoneId = ZoneId.of( "America/Montreal" ) ; // Or ZoneOffset.UTC or ZoneId.systemDefault()
LocalDate today = LocalDate.now( zoneId ) ;
String output = today.toString() ;
2017-01-23
ডিফল্টরূপে আপনি স্ট্যান্ডার্ড আইএসও 8601 ফর্ম্যাটে একটি স্ট্রিং পাবেন ।
অন্যান্য ফর্ম্যাটগুলির জন্য java.time.format.DateTimeFormatterক্লাস ব্যবহার করুন ।
Java.time ফ্রেমওয়ার্ক জাভা 8 এবং পরে পাতাটা করা হয়। এই ক্লাসগুলি , & , এর মতো সমস্যাযুক্ত পুরানো উত্তরাধিকারের তারিখ-সময়ের ক্লাসগুলিকে সহায়তা করে ।java.util.DateCalendarSimpleDateFormat
Joda-টাইম প্রকল্প, এখন রক্ষণাবেক্ষণ মোড , মাইগ্রেশনে উপদেশ java.time ক্লাস।
আরও জানতে, ওরাকল টিউটোরিয়ালটি দেখুন । এবং অনেকগুলি উদাহরণ এবং ব্যাখ্যার জন্য স্ট্যাক ওভারফ্লো অনুসন্ধান করুন। স্পেসিফিকেশনটি জেএসআর 310 ।
আপনি আপনার ডাটাবেসের সাথে জাভা.টাইম অবজেক্টগুলি সরাসরি বিনিময় করতে পারেন । জেডিবিসি ৪.২ বা তারপরের সাথে অনুগত একটি জেডিবিসি ড্রাইভার ব্যবহার করুন । স্ট্রিংগুলির দরকার নেই, ক্লাসের প্রয়োজন নেই ।java.sql.*
জাভা.টাইম ক্লাস কোথায় পাবেন?
ThreeTen-অতিরিক্ত প্রকল্প অতিরিক্ত শ্রেণীর সাথে java.time প্রসারিত করে। এই প্রকল্পটি জাভা.টাইমে সম্ভাব্য ভবিষ্যতের সংযোজনগুলির একটি প্রমাণযোগ্য ক্ষেত্র। আপনি এখানে কিছু দরকারী শ্রেণীর যেমন খুঁজে পেতে পারেন Interval, YearWeek, YearQuarter, এবং আরো ।
দ্রুত:
String date = FastDateFormat.getInstance("dd-MM-yyyy").format(System.currentTimeMillis( ));
সময়ের জন্য YYYY-MM-dd হিসাবে
String time = new DateTime( yourData ).toString("yyyy-MM-dd");
এবং ডেটটাইম লাইব্রেরিটি হ'ল:
আমদানি org.joda.time.DateTime;
DateTimeএসেছে? স্ট্যাক ওভারফ্লোতে একটি উত্তরের কিছু ব্যাখ্যা থাকা উচিত কারণ এই সাইটটি একটি স্নিপেট লাইব্রেরির চেয়ে বেশি বোঝানো হয়েছে।
বেশিরভাগ উত্তর বৈধ / ছিল / ডেট হ্যান্ডলিংয়ের জন্য নতুন জাভা এপিআই পরিবর্তনটি জাভা ডেট হ্যান্ডলিংয়ের পূর্বের কিছু অস্পষ্টতা হ্রাস পেয়েছে তা নিশ্চিত করেছে।
আপনি অনুরূপ কলগুলির জন্য অবহেলিত বার্তা পাবেন।
new Date() // deprecated
উপরের কলটির বিকাশকারীকে ধরে নিতে হয়েছিল যে একটি নতুন তারিখ অবজেক্টটি বর্তমান টাইমস্ট্যাম্পের সাথে তারিখ অবজেক্ট দেবে। এই আচরণটি অন্যান্য জাভা এপিআই ক্লাসে সামঞ্জস্যপূর্ণ নয়।
এটি করার নতুন উপায় হ'ল ক্যালেন্ডার ইনস্ট্যান্স ব্যবহার করা ।
new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()
এখানেও নামকরণের সম্মেলন নিখুঁত নয় তবে এটি অনেকটা সংগঠিত। আমার মতো একজন ব্যক্তির পক্ষে, যিনি জিনিসগুলি জড়িত করার জন্য খুব কঠিন সময় কাটিয়ে উঠছেন তবে কোনও বিষয় যদি এটি লজিক্যাল মনে হয় / মনে হয় তবে তা কখনই ভুলে যাবেন না, এটি একটি ভাল পদ্ধতির।
এটি বাস্তব জীবনের আরও সমার্থক
এটি করার আরও একটি উপায় হ'ল জোদা সময় এপিআই
new DateTime().toString("yyyy-MM-dd")
বা আরও সুস্পষ্ট
new DateTime(Calendar.getInstance().getTime()).toString("yyyy-MM-dd")
দু'জনেই একই ফল দেবে।
java.util.Date, java.util.Calendarএবং java.text.SimpleTextFormatএখন উত্তরাধিকার দ্বারা supplanted java.time ক্লাস। এছাড়াও, জোদা-টাইম প্রকল্পটি এখন রক্ষণাবেক্ষণের মোডে রয়েছে , টিমটি জাভা.টাইমে মাইগ্রেশনের পরামর্শ দিচ্ছে।
Clockজাভা 8- এ বাস্তবায়ন লিগ্যাসি ক্লাসগুলির মতো ঠিক। কেবল জাভা 9 এ একটি নতুন বাস্তবায়ন এসেছে, এটি ন্যানোসেকেন্ডের মতো সূক্ষ্ম হিসাবে একটি রেজোলিউশন সহ বর্তমান মুহূর্তটি ক্যাপচার করতে সক্ষম।
public static Date getDateByString(String dateTime) {
if(dateTime==null || dateTime.isEmpty()) {
return null;
}
else{
String modified = dateTime + ".000+0000";
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date dateObj = new Date();
Date dateObj1 = new Date();
try {
if (dateTime != null) {
dateObj = formatter.parse(modified);
}
} catch (ParseException e) {
e.printStackTrace();
}
return dateObj;
}
}
Stringআপনার ফাংশনে কোনও বিন্যাসে তারিখটি পাস করতে পারবেন না ।