2009-05-07 10 views
12

मैं इस साल के आईएसओ सप्ताह 1 में सोमवार की तारीख को जानना चाहता हूं (200 9 के लिए यह सोमवार, 2 9 दिसंबर 2008 होगा)।जोडा-टाइम: इस साल के आईएसओ सप्ताह में पहला दिन 1

मुझे यकीन है कि joda-time इसे संभाल सकता है, लेकिन मैं सिर्फ एपीआई (शायद यह बहुत देर हो चुकी है) को नहीं समझ सकता।

क्या कोई मदद कर सकता है? धन्यवाद!

उत्तर

11

मेरा मानना ​​है कि यह काम करना चाहिए:

DateMidnight date = new DateMidnight().withWeekOfWeekyear(1).withDayOfWeek(1); 
+0

धन्यवाद, ब्लेक! ठीक वही जो मेरे द्वारा खोजा जा रहा था। संग्रह के लिए, "withWeekOfWeekYear()" वर्तनी होनी चाहिए "withWeekOfWeekyear()" (लोअरकेस वाई)। –

+3

** नोट: ** यह उत्तर जोडा-टाइम टीम द्वारा कक्षाओं और विधियों * अब अनुशंसित * का उपयोग नहीं करता है। [ShaILU द्वारा सही उत्तर] देखें (http://stackoverflow.com/a/22334471/642706)। [रिलीज नोट्स] उद्धृत करने के लिए (http://www.joda.org/joda-time/upgradeto230.html): 'दिनांक मध्यरात्रि ... यह वर्ग अवधारणा में त्रुटिपूर्ण है ... स्थानीय ... के साथ बदलें ... [या] दिनांक समय ... [उपयोग] ... withTimeAtStartOfDay() विधि'। ([लोकलडेट] (http://www.joda.org/joda-time/apidocs/org/joda/time/LocalDate.html) या [DateTime.withTimeAtStartOfDay()] (http://www.joda.org/ जोडा-टाइम/एपिडॉक्स/ऑर्ग/जोडा/टाइम/डेटटाइम.html # टाइमएटस्टार्टऑफडे())) –

18

अन्य जवाब में बताया गया DateMidnight एपीआई अब हटाई गई है, नीचे का उपयोग करें:

DateTime date = new DateTime().dayOfYear().withMinimumValue().withTimeAtStartOfDay(); 
संबंधित मुद्दे