TL; ড
Instant.ofEpochMilli( 1_322_018_752_992L ) // Parse count of milliseconds-since-start-of-1970-UTC into an `Instant`.
.atZone( ZoneId.of( "Africa/Tunis" ) ) // Assign a time zone to the `Instant` to produce a `ZonedDateTime` object.
বিস্তারিত
অন্যান্য উত্তরগুলি বহির্মুখী বা ভুল ক্লাস ব্যবহার করে।
পুরানো তারিখের সময় ক্লাসগুলি যেমন java.util.Date/.C ক্যালেন্ডার এড়িয়ে চলুন। তারা খারাপভাবে নকশাকৃত, বিভ্রান্তিকর এবং সমস্যাযুক্ত হিসাবে প্রমাণিত হয়েছে।
java.time
Java.time ফ্রেমওয়ার্ক জাভা 8 এবং পরে পাতাটা আসে। কার্যকারিতাটির বেশিরভাগটি জাভা 6 এবং 7 এ ব্যাকপোর্ট করা হয়েছে এবং আরও অ্যান্ড্রয়েডে অভিযোজিত । জোদা-সময়কে তৈরি করেছিল এমন কিছু লোকের দ্বারা তৈরি ।
একটি Instantমধ্যে টাইমলাইনে একটি মুহূর্ত ইউটিসি একটি রেজোলিউশনে ন্যানোসেকেন্ড । ইউটিসিতে এর যুগটি 1970 এর প্রথম মুহূর্ত।
ধরে নিই আপনার ইনপুট ডেটা 1970-01-01T00: 00: 00Z (প্রশ্নের মধ্যে পরিষ্কার নয়) থেকে মিলিসেকেন্ডের একটি গণনা, তাহলে আমরা সহজেই একটি ইনস্ট্যান্ট করতে পারি Instant।
Instant instant = Instant.ofEpochMilli( 1_322_018_752_992L );
তাত্ক্ষণিক.আর স্ট্রিং (): 2011-11-23T03: 25: 52.992Z
Zযে আদর্শ মধ্যে আইএসও 8601 বিন্যস্ত স্ট্রিং-এর সংক্ষিপ্ত রূপ Zuluএবং এর মানে হল ইউটিসি ।
যথাযথ টাইম জোনের নাম ব্যবহার করে একটি সময় অঞ্চল প্রয়োগ করুন , ক ZonedDateTime।
ZoneId zoneId = ZoneId.of( "Asia/Kolkata" ) ;
ZonedDateTime zdt = instant.atZone( zoneId );
IdeOne.com এ এই কোডটি সরাসরি চালিত দেখুন ।
Asia/Kolkata সময় অঞ্চল ?
আমি অনুমান করছি যে আপনার কোডগুলি প্রভাবিত করে এমন একটি ভারত টাইম অঞ্চল ছিল। আমরা এখানে দেখতে পেলাম যে Asia/Kolkataসময় প্রতিবেদনের সাথে সামঞ্জস্য করা আপনার সময়কালের একই সময়ের প্রস্তাব দেয় 08:55যা আমাদের ইউটিসি মান থেকে সাড়ে পাঁচ ঘন্টা এগিয়ে 03:25।
2011-11-23T08: 55: 52.992 +05: 30 [এশিয়া / কলকাতা]
ডিফল্ট অঞ্চল
আপনি জেভিএমের বর্তমান ডিফল্ট সময় অঞ্চল প্রয়োগ করতে পারেন । সাবধান থাকুন যে রানটাইম চলাকালীন সময়ে যে কোনও মুহূর্তে ডিফল্ট পরিবর্তন হতে পারে । JVM এর মধ্যে যে কোনও অ্যাপের যে কোনও থ্রেডের যে কোনও কোডই বর্তমান ডিফল্ট পরিবর্তন করতে পারে। গুরুত্বপূর্ণ হলে ব্যবহারকারীকে তাদের কাঙ্ক্ষিত / প্রত্যাশিত সময় অঞ্চলটি জিজ্ঞাসা করুন।
ZoneId zoneId = ZoneId.systemDefault();
ZonedDateTime zdt = ZonedDateTime.ofInstant( instant , zoneId );
জাভা.টাইম সম্পর্কে
Java.time ফ্রেমওয়ার্ক জাভা 8 এবং পরে পাতাটা করা হয়। এই ক্লাসগুলি , & , এর মতো সমস্যাযুক্ত পুরানো উত্তরাধিকারের তারিখ-সময়ের ক্লাসগুলিকে সহায়তা করে ।java.util.DateCalendarSimpleDateFormat
Joda-টাইম প্রকল্প, এখন রক্ষণাবেক্ষণ মোড , মাইগ্রেশনে উপদেশ java.time ক্লাস।
আরও জানতে, ওরাকল টিউটোরিয়ালটি দেখুন । এবং অনেক উদাহরণ এবং ব্যাখ্যার জন্য স্ট্যাক ওভারফ্লো অনুসন্ধান করুন। স্পেসিফিকেশনটি জেএসআর 310 ।
একটি সঙ্গে JDBC ড্রাইভার মেনে চলার JDBC এর 4.2 বা পরবর্তী, আপনি বিনিময় পারে java.time আপনার ডাটাবেস সাথে সরাসরি অবজেক্ট। স্ট্রিং বা জাভা.এসকিউএল। * ক্লাসের প্রয়োজন নেই।
জাভা.টাইম ক্লাস কোথায় পাবেন?
ThreeTen-অতিরিক্ত প্রকল্প অতিরিক্ত শ্রেণীর সাথে java.time প্রসারিত করে। এই প্রকল্পটি জাভা.টাইমে সম্ভাব্য ভবিষ্যতের সংযোজনগুলির একটি প্রমাণযোগ্য ক্ষেত্র। আপনি এখানে কিছু দরকারী শ্রেণীর যেমন খুঁজে পেতে পারেন Interval, YearWeek, YearQuarter, এবং আরো ।