উত্তর:
জাভা এসই 8 থেকে, ব্যবহারকারীদের জাভা.টাইম (জেএসআর -310) এ মাইগ্রেট করতে বলা হয়। স্কাল - টাইমের মতো স্কালার জন্য জাভা.টাইম মোড়ানো স্কেল লাইব্রেরি তৈরির চেষ্টা রয়েছে । যদি এসই 8 এর চেয়ে কম টার্গেট করে নীচের একটি ব্যবহার করুন। এছাড়াও দেখুন কেন জেএসআর -310 জোদা-সময় নয়
জোদা সময়ের জন্য একটি নতুন স্কালার মোড়ক । এই প্রকল্পটি স্কাল-সময় থেকে তৈরি কারণ মনে হয় স্কাল-সময় আর রক্ষণাবেক্ষণ করা হয় না।
import com.github.nscala_time.time.Imports._
DateTime.now // returns org.joda.time.DateTime = 2009-04-27T13:25:42.659-07:00
DateTime.now.hour(2).minute(45).second(10) // returns org.joda.time.DateTime = 2009-04-27T02:45:10.313-07:00
DateTime.now + 2.months // returns org.joda.time.DateTime = 2009-06-27T13:25:59.195-07:00
DateTime.nextMonth < DateTime.now + 2.months // returns Boolean = true
DateTime.now to DateTime.tomorrow // return org.joda.time.Interval = > 2009-04-27T13:47:14.840/2009-04-28T13:47:14.840
(DateTime.now to DateTime.nextSecond).millis // returns Long = 1000
2.hours + 45.minutes + 10.seconds
// returns com.github.nscala_time.time.DurationBuilder
// (can be used as a Duration or as a Period)
(2.hours + 45.minutes + 10.seconds).millis
// returns Long = 9910000
2.months + 3.days
// returns Period
জোদা টাইম একটি ভাল জাভা গ্রন্থাগার, জর্জি অর্টিজ দ্বারা নির্মিত স্কেল -টাইমে জোদা সময়ের জন্য উপলব্ধ একটি স্কালা র্যাপার / অন্তর্নিহিত রূপান্তর গ্রন্থাগার রয়েছে । (দ্রষ্টব্য ছাপগুলির কার্যকারিতা হিট হয় তবে এটি আপনি কী লক্ষ্য করবেন তা কী তা নির্ভর করে you এবং আপনি যদি কোনও পারফরম্যান্স সমস্যা থেকে সজ্জিত হন তবে আপনি কেবল জোদা ইন্টারফেসে ফিরে যেতে পারেন)
পুনরায় পড়া থেকে:
USAGE:
import org.scala_tools.time.Imports._
DateTime.now
// returns org.joda.time.DateTime = 2009-04-27T13:25:42.659-07:00
DateTime.now.hour(2).minute(45).second(10)
// returns org.joda.time.DateTime = 2009-04-27T02:45:10.313-07:00
DateTime.now + 2.months
// returns org.joda.time.DateTime = 2009-06-27T13:25:59.195-07:00
DateTime.nextMonth < DateTime.now + 2.months
// returns Boolean = true
DateTime.now to DateTime.tomorrow
// return org.joda.time.Interval =
// 2009-04-27T13:47:14.840/2009-04-28T13:47:14.840
(DateTime.now to DateTime.nextSecond).millis
// returns Long = 1000
2.hours + 45.minutes + 10.seconds
// returns org.scala_tools.time.DurationBuilder
// (can be used as a Duration or as a Period)
(2.hours + 45.minutes + 10.seconds).millis
// returns Long = 9910000
2.months + 3.days
// returns Period
Imports
এবং এর সাথে সমস্যাটি সনাক্ত করতে পারছি না scala.concurrent.duration._
। পরিবর্তে সরল জোডটাইম ব্যবহার করেছেন এবং এর উপরে নিজস্ব সাইকেল লিখেছেন।
আপনি যদি জাভা 8 ব্যবহার করেন তবে nscala
আর ব্যবহার করার দরকার নেই। জোদা-টাইম লাইব্রেরিটি java.time
প্যাকেজের (জেএসআর -310) আওতায় জাভা 8-এ স্থানান্তরিত করা হয়েছে । আপনার স্কেলা প্রকল্পে কেবল সেই প্যাকেজটি আমদানি করুন।
স্কালায় তারিখগুলি নিয়ে কাজ করার কোনও মানক উপায় নেই । উপলব্ধ বিকল্পগুলি হ'ল:
আশেপাশের ভাল-ডকুমেন্টেড ইস্যুগুলির কারণে আমি java.util.Date ব্যবহার এড়াতে চাই।
প্রেরণা:
জাভা তারিখ এবং ক্যালেন্ডার লাইব্রেরিগুলি মূলত অপর্যাপ্ত। এগুলি পরিবর্তনীয়, থ্রেড-নিরাপদ নয় এবং ব্যবহারে খুব অসুবিধে হয়।
জোডা টাইম লাইব্রেরি জাভার তারিখ এবং ক্যালেন্ডার ক্লাসগুলির জন্য দুর্দান্ত প্রতিস্থাপন। এগুলি ডিফল্টরূপে অপরিবর্তনীয়, অনেক বেশি সমৃদ্ধ এবং সুন্দর এপিআই রয়েছে এবং যখন প্রয়োজন হয় তখন খুব সহজেই জাওয়ার তারিখ এবং ক্যালেন্ডার শ্রেণিতে রূপান্তর করা যায়।
এই প্রকল্পটি জোডা টাইম লাইব্রেরিগুলির চারপাশে সুবিধার একটি পাতলা স্তর সরবরাহ করে, স্কালার মধ্যে এগুলি ব্যবহার করার জন্য আরও মূর্তিযুক্ত making
( https://github.com/jorgeortiz85/scala- সময় থেকে অনুলিপি করা হয়েছে )