2012-01-11 10 views
5

मुझे तारीख से संबंधित कई चीजों में हेरफेर और गणना करने की ज़रूरत है, जैसे "आज है?", "कल से पहले है?", "अब प्लस 3 दिन" आदि। क्या स्कैला में कोई लाइब्रेरी या डीएसएल है जो मदद कर सकती है उस? मैं निहित रूपांतरणों के साथ कुछ की उम्मीद कर रहा था।क्या स्कैला में कोई दिनांक/समय डीएसएल यूटिल है?

मैं इसे लिफ्ट स्निपेट के साथ उपयोग करूँगा, इसलिए लिफ्ट सहायक भी काम करता है। मैंने देखा कि लिफ्ट में टाइमहेल्पर के कुछ तरीके हैं, यह एक अच्छी शुरुआत है लेकिन मैं कुछ और ढूंढ रहा हूं।

उत्तर

7

आप जोडा-टाइम के लिए निम्नलिखित स्कैला रैपर का उपयोग कर सकते हैं।

Scala-time

2

आप java.util.Date हेरफेर करने के लिए है, तो वहाँ भी Moments

2

मैं हाल ही में Lamma जो आपके उपयोग के मामले बहुत अच्छी तरह से फिट विकसित है।

scala> import io.lamma._ // import at begining 
import io.lamma._ 

scala> Date(2014, 7, 10) - Date(2014, 7, 3) // calculate date difference 
res5: Int = 7 

scala> (2014, 7, 10) - (2014, 7, 3) // implicit conversion from (Int, Int, Int) 
res6: Int = 7 

scala> (2014, 7, 10) + 3 // plus 3 days 
res7: io.lamma.Date = Date(2014,7,13) 

scala> (2014, 7, 10) + 5.weeks // plus 5 weeks 
res8: io.lamma.Date = Date(2014,8,14) 

scala> (2014, 7, 10) + (5 weeks) // this will work too 
res9: io.lamma.Date = Date(2014,8,14) 

scala> (2014, 7, 10) + (10 years) // another expression 
res10: io.lamma.Date = Date(2024,7,10)