tl; ডা
LocalDate.parse(
"01-23-2017" ,
DateTimeFormatter.ofPattern( "MM-dd-uuuu" )
)
বিশদ
আমার java.util. তারিখটি yyyy-mm-dd ফর্ম্যাটে রয়েছে
অন্যান্য উল্লিখিত হিসাবে, Date
শ্রেণীর কোন বিন্যাস নেই। এটি ইউটিসিতে 1970-এর শুরু থেকে এক মিলিসেকেন্ডের একটি গণনা রয়েছে। কোনও স্ট্রিং সংযুক্ত নেই।
java.time
অন্যান্য উত্তরগুলি ঝামেলাজনক পুরানো উত্তরাধিকারের তারিখ-সময় ক্লাসগুলি ব্যবহার করে, এখন জাভা.টাইম ক্লাসগুলি দ্বারা সাপ্লান্ট করা।
আপনার যদি একটি java.util.Date
থাকে তবে একটি Instant
বস্তুতে রূপান্তর করুন । Instant
ক্লাসে টাইমলাইনে একটি মুহূর্ত প্রতিনিধিত্ব করে ইউটিসি একটি রেজোলিউশনে ন্যানোসেকেন্ড (একসঙ্গে নয় জন (9) একটি দশমিক ভগ্নাংশের সংখ্যায় পর্যবসিত)।
Instant instant = myUtilDate.toInstant();
সময় অঞ্চল
অন্যান্য উত্তরগুলি সময় অঞ্চলটির গুরুত্বপূর্ণ বিষয়টিকে উপেক্ষা করে। তারিখ নির্ধারণের জন্য একটি সময় অঞ্চল প্রয়োজন। যে কোনও মুহুর্তের জন্য, তারিখটি অঞ্চল অনুসারে বিশ্ব জুড়ে পরিবর্তিত হয়। প্যারিসের মধ্যরাতের কয়েক মিনিটের পরে ফ্রান্স একটি নতুন দিন, যখন এখনও মন্ট্রিয়াল কোয়েবেকে "গতকাল" রয়েছে।
সময় অঞ্চলটি নির্ধারণ করুন যার মাধ্যমে আপনি আপনার জন্য প্রসঙ্গ চান Instant
।
ZoneId z = ZoneId.of( "America/Montreal" );
ZoneId
পেতে একটি প্রয়োগ করুন ZonedDateTime
।
ZonedDateTime zdt = instant.atZone( z );
LocalDate
আপনি যদি দিনের নির্দিষ্ট সময় ব্যতীত কেবল তারিখের বিষয়ে যত্নশীল হন তবে এ LocalDate
।
LocalDate localDate = zdt.toLocalDate();
স্ট্যান্ডার্ড আইএসও 8601 ফর্ম্যাটে একটি স্ট্রিং তৈরি করতে, YYYY-MM-DD, কেবল কল করুন toString
। জাভা.টাইম ক্লাসগুলি স্ট্রিং তৈরি / পার্সিং করার সময় ডিফল্ট হিসাবে স্ট্যান্ডার্ড ফর্ম্যাটগুলি ব্যবহার করে।
String output = localDate.toString();
2017-01-23
আপনি যদি এমএম-ডিডি-ওয়াইওয়াই ফর্ম্যাট চান তবে একটি ফর্ম্যাটিং প্যাটার্নটি নির্ধারণ করুন।
DateTimeFormatter f = DateTimeFormatter.ofPattern( "MM-dd-uuuu" );
String output = localDate.format( f );
নোট করুন যে ফর্ম্যাটিং প্যাটার্ন কোডগুলি কেস-সংবেদনশীল। প্রশ্নের কোডটি (বছরের মাসের mm
) চেয়ে ভুলভাবে ব্যবহৃত হয়েছে (ঘন্টাের মিনিট MM
)।
DateTimeFormatter
বিশ্লেষণের জন্য একই অবজেক্টটি ব্যবহার করুন। জাভা.টাইম ক্লাসগুলি থ্রেড-নিরাপদ, সুতরাং আপনি এই বিষয়টিকে চারপাশে রাখতে পারেন এবং থ্রেড জুড়েও বারবার এটি পুনরায় ব্যবহার করতে পারেন।
LocalDate localDate = LocalDate.parse( "01-23-2017" , f );
জাভা.টাইম সম্পর্কে
Java.time ফ্রেমওয়ার্ক জাভা 8 এবং পরে পাতাটা করা হয়। এই শ্রেণীর বিরক্তিজনক পুরাতন স্থানচ্যুত উত্তরাধিকার যেমন তারিখ-সময় শ্রেণীর java.util.Date
, Calendar
, &SimpleDateFormat
।
Joda-টাইম প্রকল্প, এখন রক্ষণাবেক্ষণ মোড , মাইগ্রেশনে উপদেশ java.time ক্লাস।
আরও জানতে, ওরাকল টিউটোরিয়াল দেখুন । এবং অনেকগুলি উদাহরণ এবং ব্যাখ্যাগুলির জন্য স্ট্যাক ওভারফ্লো অনুসন্ধান করুন। স্পেসিফিকেশনটি জেএসআর 310 ।
জাভা.টাইম ক্লাস কোথায় পাবেন?
ThreeTen-অতিরিক্ত প্রকল্প অতিরিক্ত শ্রেণীর সাথে java.time প্রসারিত করে। এই প্রকল্পটি জাভা.টাইমে সম্ভাব্য ভবিষ্যতের সংযোজনগুলির একটি প্রমাণযোগ্য ক্ষেত্র। আপনি এখানে কিছু দরকারী শ্রেণীর যেমন খুঁজে পেতে পারেন Interval
, YearWeek
, YearQuarter
, এবং আরো ।