2011-11-02 10 views
9

द्वारा टाइमज़ोन प्राप्त करें मैं सी #/.NET मंच पर आवेदन भेजने वाला न्यूजलेटर विकसित कर रहा हूं। मैंने हाल ही में maxmind.com डेटाबेस का उपयोग कर अपने आईपी पते द्वारा प्राप्तकर्ता के देश और क्षेत्र को पुनर्प्राप्त करने के लिए मॉड्यूल जोड़ा है।देश और क्षेत्र

Country Code: DE 
Country Name: Germany 
Region Name: Hessen 
City:   Frankfurt Am Main 
Latitude:  50.1167 
Longitude: 8.6833 

क्या मैं अब जरूरत है इस जानकारी का उपयोग उपयोगकर्ता के समय क्षेत्र प्राप्त करने के लिए है:

उदाहरण के लिए, मैं कुछ नमूना आईपी पते के लिए निम्नलिखित जानकारी मिल सकती है।

मुझे पता है कि कुछ जियोआईपी डेटाबेस हैं जो समय क्षेत्र भी प्रदान करते हैं, लेकिन मुझे इस ठोस जियोआईपी डेटाबेस का उपयोग करने की आवश्यकता है। साथ ही, समय ऑफसेट निर्धारित करने के लिए जावास्क्रिप्ट का दृष्टिकोण यहां उपयोग नहीं किया जा सकता है।

क्या मैं किसी भी तरह देश और क्षेत्र के नाम का उपयोग कर टाइमज़ोन प्राप्त कर सकता हूं?

+0

आप इनमें से किसी भी [इन दृष्टिकोण] (http://stackoverflow.com/a/16086964/634824) –

उत्तर

9

अंत में, लंबे अनुसंधान के बाद, मैं समाधान मिल गया है। यह बहुत सटीक नहीं हो सकता है, लेकिन इसे दूरस्थ सेवा की निर्भरता की आवश्यकता नहीं है।

मैंने पाया कि मैक्समाइंड के डेटाबेस क्षेत्रों और ऑलसेन डेटाबेस से समय क्षेत्रों के बीच मैपिंग फ़ाइल (उर्फ TZ डेटाबेस) प्रदान करता है: http://www.maxmind.com/timezone.txt

दूसरे चरण के लिए नेट समय क्षेत्रों वाले ऑलसेन समय क्षेत्र परिवर्तित करने के लिए किया गया था। सबसे अच्छा उपयुक्त समाधान यहां पाया गया था: http://www.timdavis.com.au/data/olson-time-zone-database-to-standard-windows-time-zone-v01/ इसलिए मैंने इसे थोड़ा संपादित किया है और इसे .NET से पढ़ने के लिए CSV फ़ाइल में परिवर्तित कर दिया है।

उम्मीद है कि यह किसी की मदद करेगा।

+1

अपना जवाब स्वीकार करना याद रखें, क्योंकि यह है [अपने प्रश्न का उत्तर देने के लिए ठीक है] (http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/)। –

2
+0

धन्यवाद के साथ लैट/लॉन का उपयोग कर सकते हैं। दिलचस्प सेवा मैं कुछ ऑफ़लाइन-आधारित दृष्टिकोण खोजने की कोशिश करूंगा क्योंकि हमारे पास भविष्य में 1 मिलियन से अधिक प्राप्तकर्ता हो सकते हैं, लेकिन यह समाधान मेरी स्थिति – VirusX

+0

@VirusX में बहुत उपयोगी है - यदि आप लाखों अनुरोधों के बारे में बात करते हैं तो आपको खोजने के लिए कठिन दबाव डाला जाएगा एक मुफ्त सेवा। निस्संदेह जावास्क्रिप्ट मुक्त होगा, आप इसे नियंत्रित कर सकते हैं, जिसमें आप अपने नियंत्रण में जावास्क्रिप्ट पेज वाले किसी पृष्ठ पर http अनुरोध का उपयोग कर सकते हैं। –

+0

@ रामहाउंड - जैसा कि मैंने ऊपर बताया है, अनुरोध की प्रकृति के कारण जावास्क्रिप्ट का उपयोग यहां नहीं किया जा सकता है। बीकन यूआरएल 'img' टैग के' src' पैरामीटर में शामिल है। जब उपयोगकर्ता ईमेल संदेश खोलता है, तो अनुरोध हमारी सेवा पर जा रहा है। हमारे पास प्राप्तकर्ता के http शीर्षलेख और आईपी पते हैं। लाखों के बारे में - आम तौर पर इसका मतलब प्रति मिनट या घंटे के लाखों अनुरोध नहीं हैं, लेकिन यह प्रति सेकंड कुछ अनुरोधों से निश्चित रूप से अधिक हो सकता है। इसलिए, जैसा कि मैंने कहा, मैं ऐसा करने के लिए कुछ ऑफ़लाइन डेटाबेस खोजने की कोशिश कर रहा हूं। – VirusX

1

यह पहले से ही है में एक विशेषता location.timeZone आप वस्तु द्वारा लौटाए से प्राप्त कर सकते हैं एक समय के बाद से यह सवाल पूछा गया था कि आप मैक्समाइंड एपीआई से एक DatabaseReader वस्तु का उपयोग कर रहे हैं हो गया है, लेकिन दूसरों को मदद कर सकता है ..

जीओआईपी कक्षा, अधिकतम 0 से API docs पर जांचें।

+0

हाँ, 2011 में GeoIP2 मौजूद नहीं था। अब इसके लिए एक सरल एपीआई है। – VirusX

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