मैं एक आवेदन जहाँ मैं ColdFusion 8 का उपयोग कर जावास्क्रिप्ट का उपयोग कर विंडोज सर्वर 2008 और क्लाइंट साइड पर चल रहे (गूगल क्रोम में परीक्षण) सर्वर साइड पर युग समय प्राप्त करने की आवश्यकता लिख रहा हूँ। समस्या यह है कि कोल्डफ्यूजन द्वारा उत्पन्न युग का समय जावास्क्रिप्ट द्वारा उत्पन्न एक घंटे के पीछे है। मैंने सत्यापित किया है कि दिनांक/समय सेटिंग्स क्लाइंट साइड और सर्वर दोनों तरफ सही हैं।क्यों ColdFusion युग एक घंटे जावास्क्रिप्ट युग समय के पीछे समय है?
यह वह जगह है मैं कैसे ColdFusion के साथ समय स्टाम्प की स्थापना कर रहा हूँ:
<cfset cfEpoch = DateDiff("s", "January 1 1970 00:00", DateConvert("Local2utc", now()))>
और यह है मैं यह कैसे जावास्क्रिप्ट के साथ सेट कर रहा हूं:
var jsEpoch = Math.round(new Date().getTime()/1000.0);
जावास्क्रिप्ट युग इस पर से मेल खाता है वेबसाइट (http://www.epochconverter.com/), क्योंकि वे एक ही विधि का उपयोग किया जा रहा का उपयोग कर रहे हैं जो समझ में आता है। कोल्डफ्यूजन युग एक घंटा पीछे है। यहां बताया गया है कि मैं इस सुलझाने की कोशिश करने के लिए चलाए गया है:
<cfset localDate = now()>
<cfset utcDate = DateConvert("Local2utc", localDate)>
<cfset epoch = DateDiff("s", "January 1 1970 00:00", utcDate)>
<cfoutput>
Local Date: #localDate# <br>
UTC Date: #utcDate# <br>
Epoch: #epoch#
</cfoutput>
कि कोड आउटपुट:
Local Date: {ts '2013-04-30 17:44:56'}
UTC Date: {ts '2013-04-30 21:44:56'}
Epoch: 1367354696
तो मैं एक नुकसान में हूँ। स्थानीय दिनांक और यूटीसी दिनांक मूल्य दोनों सही हैं। ऐसा प्रतीत होता है केवल व्याख्या यह है कि DateDiff() फ़ंक्शन ठीक से काम नहीं है, लेकिन मैं अन्य तिथियों के साथ यह परीक्षण किया है और यह ठीक काम करने के लिए लगता है कि। मुझे लगता है कि मैं इसे उत्पन्न करने वाले युग मूल्य में 3600 जोड़ सकता हूं लेकिन मैं यह नहीं जानता कि मुझे पहले स्थान पर गलत मूल्य क्यों मिल रहा है। क्या कोई देखता है कि मैं यहाँ क्या खो रहा हूं?
अपने JVM संस्करण क्या है? और आप किस टीजेड में हैं? –