2012-11-29 19 views
34

ठीक है, कहते हैं कि JSON पार्स स्ट्रिंग यूटीसी के रूप में नीचे की तारीख:जावास्क्रिप्ट स्थानीय समय में यूटीसी कन्वर्ट करने के लिए

2012-11-29 17:00:34 UTC 

अब अगर मैं अपने स्थानीय समय में इस यूटीसी तिथि परिवर्तित करना चाहते हैं, कैसे मैं यह कर सकता है?

जवाब

=====

फिर, मैं इसे कैसे किसी और ': mm: ss z yyyy-MM-yyyy HH' की तरह कुछ करने के लिए प्रारुपित करूँ के लिए धन्यवाद?

यह date.toString('yyyy-MM-dd HH:mm:ss z'); बाहर काम कभी नहीं:/

+1

'नई तिथि ("2012-11-29 17:00:34 यूटीसी") के समय में स्थानीय समय में होगा क्लाइंट जो पृष्ठ – Esailija

+0

का उपयोग कर रहा है आप रिक्त स्थान या प्रतीकों का उपयोग कर इसे सरणी में विभाजित कर सकते हैं। मान लें कि आप दिनांक और समय के साथ .split ("") और सरणी करते हैं और "utc" का गठन किया जाएगा। फिर इसे इस तरह से विभाजित करें। एसप्लिट ("-") और इस तरह के समय को विभाजित करें। एसप्लिट (":") और इसी तरह। – yashas123

उत्तर

44

प्रयास करें:

var date = new Date('2012-11-29 17:00:34 UTC'); 
date.toString(); 
+0

date.toString ('yyyy-MM-dd hH: mm: ss z') कभी काम नहीं करता:/ – lannyboy

+8

अच्छी तरह से, मैंने आईई और फ़ायरफ़ॉक्स की कोशिश की, वे सभी नैन हैं! अमान्य तिथि? – lannyboy

+0

डेट.जेएस लाइब्रेरी का उपयोग करके [यह काम करता है] (http://jsfiddle.net/brmr3623/7/) दिनांक प्रारूप के लिए yyyy-MM-dd एचएच: मिमी: एसएस –

1

यह काम करना चाहिए

var date = new Date('2012-11-29 17:00:34 UTC'); 
date.toString() 
+0

स्थानीय तारीख को 'yyyy-MM-dd HH: mm: ss z' को प्रारूपित करने के लिए कैसे करें? – lannyboy

29
var offset = new Date().getTimezoneOffset(); 

offset यूटीसी को स्थानीय समय से कुछ ही मिनटों में अंतराल हो जाएगा। यूटीसी तिथि से स्थानीय समय प्राप्त करने के लिए, फिर आप अपनी तिथि से मिनट घटाएंगे।

utc_date.setMinutes(utc_date.getMinutes() - offset); 
+5

मुझे लगता है कि ऑफ़सेट को घटाया जाना चाहिए, ऑफसेट को नहीं जोड़ना चाहिए। – OnResolve

+1

+ उपयुक्त है क्योंकि यदि समय क्षेत्र 1 घंटे के पीछे है, तो लौटाया गया मूल्य -60 होगा। –

+3

@OnResolve सुरभी '+' का उपयोग करने के साथ सही है। 'तारीख का उपयोग करते समय।GetTimezoneOffset', _ "GetTimezoneOffset() से ऋणात्मक रिटर्न मान इंगित करता है कि वर्तमान स्थान यूटीसी से आगे है, जबकि सकारात्मक मान इंगित करता है कि स्थान यूटीसी के पीछे है।" _ ([** टेक गणराज्य **] (http://www.techrepublic.com/article/convert-the-local-time-to-another-time-zone-with-this-javascript/))। – WebWanderer

1

अपने तारीख के बाद समारोह की कोशिश फ़ॉर्मेट करने के लिए:

var d = new Date(); 
var fromatted = d.toLocaleFormat("%d.%m.%Y %H:%M (%a)"); 

लेकिन इस का नकारात्मक पहलू यह है कि यह एक अमानक समारोह है, जो क्रोम में काम नहीं कर रहा है, लेकिन में काम कर एफएफ (afaik)।

क्रिस

-6
/* 
* convert server time to local time 
* simbu 
*/ 
function convertTime(serverdate) { 
    var date = new Date(serverdate); 
    // convert to utc time 
    var toutc = date.toUTCString(); 
    //convert to local time 
    var locdat = new Date(toutc + " UTC"); 
    return locdat; 
} 
1

समाधान ऊपर सही कह रहे हैं, लेकिन FireFox और Safari में क्रैश हो सकता है! और यह webility.js हल करने का प्रयास कर रहा है। toUTC फ़ंक्शन देखें, यह अधिकांश मुख्य ब्रॉवर्स पर काम करता है और यह आईएसओ प्रारूप

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