मुझे एंड्रॉइड फोन (नेक्सस वन) और जावा सर्वर के बीच एक समय रूपांतरण के साथ कुछ परेशानी हो रही है। मैंने जो कुछ भी पढ़ा है, वह कहता है कि वे वही हैं, लेकिन जब मैं एक लंबे समय के स्टैम्प को परिवर्तित कर रहा हूं, तो मुझे 1 घंटा (बिल्कुल) खोना प्रतीत होता है।एंड्रॉइड टाइम बनाम जावा टाइम
विशेष रूप से, अगर मैं Android डिवाइस मैं निम्नलिखित आउटपुट प्राप्त का निम्न कोड को चलाने
कोड:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
Log.d(TAG, g.getTime().toLocaleString());
आउटपुट: जून 25, 2012 06:04:59
जो मुझे लगता है कि सही है, लेकिन जब मैं जावा सर्वर पर सटीक कोड चलाता हूं तो मुझे उसी दिन मिलता है लेकिन 1 घंटा पहले
कोड:
Calendar g = Calendar.getInstance();
g.setTimeInMillis(1340661899000L);
System.out.println(g.getTime().toLocaleString());
आउटपुट: 25 जून 2012 17:04:59
किसी को भी यह क्या कारण हो सकता है पता है? दोनों सर्वर विज्ञापन फोन एक ही स्थान पर स्थित हैं (यह महत्वपूर्ण नहीं है) और सर्वर बॉक्स और फोन दोनों पर घड़ियों
आप क्लाइंट और सर्वर के बीच संचार में स्थानीयकृत समय का उपयोग नहीं करना चाहते हैं, क्योंकि आप यह सुनिश्चित नहीं कर सकते कि ग्राहक पर समय लोकेल क्या होगा। –
मूल्य 1340661899000L स्थानीय समय नहीं होना चाहिए, मैं सिर्फ यह प्रदर्शित करना चाहता हूं कि डिवाइस टाइमज़ोन –
में दिया गया समय क्या होगा, क्लाइंट और सर्वर दोनों एक ही समय क्षेत्र/मोड में होने की अपेक्षा करते हुए मैं आपको सलाह देने का सुझाव दे रहा था। –