मैं मिलीसेकंद टाइम स्टैम्प से XMLGregorian कैलेंडर और पीछे में कनवर्ट करने की कोशिश कर रहा हूं, लेकिन मुझे गलत परिणाम मिल रहे हैं। क्या मुझसे कुछ गलत हो रही है? ऐसा लगता है कि मुझे दिन मिल रहा है।लंबे समय तक XMLGregorian कैलेंडर और लंबे समय तक
// Time stamp 01-Jan-0001 00:00:00.000
Long ts = -62135740800000L;
System.out.println(ts);
System.out.println(new Date(ts)); // Sat Jan 01 00:00:00 PST 1 .. Cool!
// to Gregorian Calendar
GregorianCalendar gc = new GregorianCalendar();
gc.setTimeInMillis(ts);
// to XML Gregorian Calendar
XMLGregorianCalendar xc = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
// back to GC
GregorianCalendar gc2 = xc.toGregorianCalendar();
// to Timestamp
Long newTs = gc2.getTimeInMillis();
System.out.println(newTs); // -62135568000000 .. uh?
System.out.println(new Date(newTs)); // Mon Jan 03 00:00:00 PST 1 .. where did the extra days come from?
यदि मैं 'gc2.get (ग्रेगोरियन कैलेंडर.वाययर) जोड़ता हूं, तो दिन सही है, लेकिन अब वर्ष 1 9 6 9 साल से बंद है। –
यह अजीब है - मुझे यह नहीं दिख रहा है! दिन गलत रहता है और वर्ष अभी भी 1 है। मुझे आश्चर्य है कि यह जावा के संस्करण (मैं 1.6.0_27 का उपयोग कर रहा हूं) या लोकेल (मैं 'en_GB') पर निर्भर करता हूं .. ??? – DNA