मैं अपने पैकेज के एक समारोह में strptime(...)
का उपयोग कर रहा हूं। मुझे विशिष्ट स्थानीय सेटिंग्स का उपयोग करके स्ट्रिंग को पार्स करने की आवश्यकता है और अंग्रेजी स्थानीयकरण सेटिंग्स प्राप्त करने के लिए वर्कअराउंड के रूप में Sys.setlocale
का उपयोग किया जाता है। साइड इफेक्ट्स को कम करने के लिए, पिछली स्थानीय सेटिंग बाद में बहाल की जाती है। समारोह के बुनियादी कोड टुकड़ा के रूप में निम्नानुसार है: जब इस समारोह का उपयोग करSys.setlocale: लोकेल सेट करने का अनुरोध ... सम्मानित नहीं किया जा सकता
#parameter settings
sometext <- "Mon, 14 Mar 2011 23:42:16 GMT"
timeFormat <- "%a, %d %b %Y %H:%M:%S"
timeZone <- "GMT"
#get current locale
loc <- Sys.getlocale("LC_TIME")
#set british localization
dummy <- Sys.setlocale("LC_TIME", "en_GB.UTF-8")
#parse datetime string
time <- strptime(sometext, format = timeFormat, tz= timeZone)
#set local back
dummy <- Sys.setlocale("LC_TIME", loc)
दुर्भाग्य से, मेरा एक सहयोगी निम्न चेतावनी हो जाता है:
In Sys.setlocale("LC_TIME", "en_GB.UTF-8") :
OS reports request to set locale to "en_GB.UTF-8" cannot be honored
अपने कंप्यूटर सब कुछ पर ठीक काम करता है। क्या इस कार्य को करने का एक बेहतर तरीका है (और स्थापित आर स्थानीयकरण से स्वतंत्र)? आम तौर पर मैं स्ट्रेटटाइम का उपयोग करना चाहता हूं क्योंकि यह डेटाटाइम तारों को पार्स करने का एक बहुत ही लचीला तरीका है।
मैंने प्रश्न को कुछ समय और समय प्रारूप के उदाहरण के साथ संपादित किया है। क्योंकि लोकेशंस की स्थापना वास्तव में ओएस निर्भर नहीं है कुछ अन्य विकल्प अच्छा होगा ... – user625626
@ user625626: अद्यतन के लिए धन्यवाद और मेरे ध्यान को इंगित करने के लिए भी। मैंने अपना जवाब संशोधित किया और आशा भी की कि इससे मदद मिल सके। – daroczig
जेप - यह लिनक्स और विंडोज़ पर काम करता है - बहुत बहुत धन्यवाद! – user625626