2012-04-27 10 views
6

के समतुल्य दिनांक मैं सप्ताह के किसी विशेष दिन की तारीख बुधवार को प्राप्त करना चाहता हूं। i.e अगर आज की तारीख 27 वीं शुक्रवार है, तो बुधवार 25 वां होगा।जीडब्ल्यूटी तिथि java.util.Calendar

मैं द्वारा

Calendar calendar = Calendar.getInstance(); 
calendar.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); 
String thisWed = String.format("%tF%n", calendar) 

इस लक्ष्य को हासिल कर सकता है चुनौती यहाँ, कि java.util.Calendar GWT ग्राहक के पक्ष में समर्थित नहीं है वहाँ सर्वर साइड के लिए इस कोड को स्थानांतरित किए बिना एक संभव समाधान है?

धन्यवाद

+0

डुप्लिकेट पहले http://stackoverflow.com/questions/ ftr-gwt-पुस्तकालय परियोजना पर आधारित 7009655/कैसे-उपयोग-जावा-उपयोग-कैलेंडर-इन-जीडटी – cellepo

उत्तर

1

DateTimeFormat का उपयोग कर, यह प्रारूप स्ट्रिंग में एक java.util.Date की अनुमति देता है या तिथि में एक स्ट्रिंग को फ़ॉर्मेट।

Date date = new Date(); 
DateTimeFormat format = DateTimeFormat.getFormat("EEEE"); 
String day = format.parse(date); 
+2

धन्यवाद लेकिन मेरे प्रश्न का उत्तर नहीं देता है। –

2

सबसे आसान शायद Joda समय या इसी तरह का उपयोग करने के होगा, लेकिन JodaTime के सभी GWT बंदरगाहों abandonned किया गया है: Date time library for gwt

सबसे शक्तिशाली (कोई तृतीय-पक्ष निर्भरता) गणना के अपने आप को क्या करना होगा:

Date d = new Date(); 
int dow = d.getDay(); 
int wed_delta = 3 - dow; 
wed = new Date(d.getTime() + (86400 * wed_delta)); 

(अंतिम पंक्ति CalendarUtil.addDaysToDate(d, wed_delta) साथ प्रतिस्थापित किया जा सकता है, यथा-स्थान d संशोधित)

+0

हाय थॉमस, आपके तर्क पर पहली नज़र, यह ठीक दिखता है लेकिन जब मैं इसे चलाता हूं, तो मुझे 'शुक्र अप्रैल 27 18:25:48 सीएटी 2012' मिलता है। ऊपर दिए गए मेरे कोड के साथ, मुझे 'अंतिम बुधवार: 2012-04-25' मिलेगा। मुझे उम्मीद है कि उस सप्ताह के आखिरी बुधवार को नई तारीख()। –

संबंधित मुद्दे