2012-03-19 25 views
32

मुझे पता है कि टाइमज़ोन ऑफसेट कैसे प्राप्त करें, लेकिन मुझे "अमेरिका/न्यूयॉर्क" जैसे कुछ का पता लगाने की क्षमता है। क्या यह जावास्क्रिप्ट से भी संभव है या यह है कि ऑफसेट के आधार पर मुझे कुछ अतिथि होना है? उपयोग पल-समय क्षेत्र पुस्तकालय http://www.timeanddate.com/time/zones/मैं जावास्क्रिप्ट में टाइमज़ोन नाम कैसे प्राप्त कर सकता हूं?

या,: http://momentjs.com/timezone/docs/

zone.name; // America/Los_Angeles

देखें इस पुस्तकालय या,:

+2

यहां एक कार्य है जो जॉन नीलैंडर ने लिखा है, शायद यह https://bitbucket.org/pellepim/jstimezonedetect – HerrSerker

+0

मदद करता है यहां एक संबंधित उत्तर है जो मदद कर सकता है: http://stackoverflow.com/a/19421672/1447034 – Douglas

+0

संभावित डुप्लिकेट [जावास्क्रिप्ट का उपयोग करके टाइमज़ोन संक्षेप का पता लगाएं] (http://stackoverflow.com/questions/1954397/detect-timezone-abunciation-using-javascript) – jberryman

उत्तर

5

आप इस स्क्रिप्ट का उपयोग कर सकते हैं। http://pellepim.bitbucket.org/jstz/

फोर्क या क्लोन भंडार यहां। https://bitbucket.org/pellepim/jstimezonedetect

एक बार जब आप स्क्रिप्ट शामिल कर लेंगे, तो आप jstz.olson.timezones चर में टाइमज़ोन की सूची प्राप्त कर सकते हैं।

और क्लाइंट ब्राउज़र का टाइमज़ोन निर्धारित करने के लिए निम्न कोड का उपयोग किया जाता है।

var tz = jstz.determine(); 
tz.name(); 

jstz का आनंद लें!

1

जावास्क्रिप्ट में, date.getTimezoneOffset() विधि वर्तमान लोकेल के लिए मिनटों में यूटीसी से टाइम-जोन ऑफसेट लौटाती है।

var x = new Date(); 
var currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60; 

क्षण का समय उपयोगी उपकरण होगा। http://momentjs.com/timezone/

समय क्षेत्र बीच

var newYork = moment.tz("2014-06-01 12:00", "America/New_York"); 
var losAngeles = newYork.clone().tz("America/Los_Angeles"); 
var london  = newYork.clone().tz("Europe/London"); 

newYork.format(); // 2014-06-01T12:00:00-04:00 
losAngeles.format(); // 2014-06-01T09:00:00-07:00 
london.format();  // 2014-06-01T17:00:00+01:00 
+1

आपको क्यूई समझ में नहीं आया। – srsajid

+1

आपके कोड नमूने मूल प्रश्न से संबंधित नहीं हैं।उपयोगकर्ता के वर्तमान समय क्षेत्र का नाम वापस करने के लिए आप इस लाइब्रेरी का उपयोग कैसे करेंगे? –

2

कन्वर्ट दिनांकों को इस कोड से here

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"> 
</script> 
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"> 
</script> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
    var tz = jstz.determine(); // Determines the time zone of the browser client 
    var timezone = tz.name(); //'Asia/Kolhata' for Indian Time. 

    alert(timezone); 

</script> 
25

उल्लेख उपयोगकर्ता समय क्षेत्र हो रही Internationalization API का समर्थन करता है की कोशिश करो, और सभी मौजूदा ब्राउज़र में supported है।

console.log(Intl.DateTimeFormat().resolvedOptions().timeZone)

ध्यान रखें कि अंतर्राष्ट्रीयकरण API का समर्थन कुछ पुराने ब्राउज़र संस्करणों पर, timeZone संपत्ति नहीं बल्कि उपयोगकर्ता के समय क्षेत्र स्ट्रिंग से undefined के लिए सेट है कि में रखें। जैसा कि मैं कह सकता हूं, लिखने के समय (जुलाई 2017) all current browsers except for IE11 उपयोगकर्ता टाइमज़ोन को एक स्ट्रिंग के रूप में वापस कर देगा।

+1

कभी सोचा नहीं कि यह बहुत आसान –

+1

कमाल है, मैंने देखा है कि जो क्षण का उपयोग नहीं कर रहा है! धन्यवाद – r0bb077

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

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