2010-03-16 13 views
18

में कनवर्ट करना जब मैं एक यूनिक्स टाइमस्टैम्प को आर में डेटाटाइम ऑब्जेक्ट में परिवर्तित करता हूं तो मुझे कोई अंतर क्यों दिखाई देता है?मिलीसेकंड में यूनिक्स सेकेंड को POSIXct/POSIXlt

> as.POSIXlt(1268736919, origin="1970-01-01", tz="America/New_York") 
[1] "2010-03-16 06:55:19 EDT" 

> as.POSIXct(1268736919, origin="1970-01-01", tz="America/New_York") 
[1] "2010-03-16 11:55:19 EDT" 

POSIXlt का परिणाम वास्तव में सही है।

इसके अलावा, मूल को निर्दिष्ट किए बिना इस रूपांतरण को करने का कोई तरीका है?

धन्यवाद

उत्तर

20

मदद पृष्ठ वास्तव में एक अंतर पर संकेत:

Value: 

    ‘as.POSIXct’ and ‘as.POSIXlt’ return an object of the appropriate 
    class. If ‘tz’ was specified, ‘as.POSIXlt’ will give an 
    appropriate ‘"tzone"’ attribute. 

यह सामान नकचढ़ा है - मुझे लगता है कि एक अंतर्निहित TZ रूपांतरण as.POSIXct के लिए हो रहा है। विचार करें कि

R> print(as.numeric(as.POSIXct(as.POSIXlt(1268736919, 
           origin="1970-01-01"))), digits=10) 
[1] 1268736919 
R> print(as.numeric(as.POSIXct(1268736919, origin="1970-01-01")), digits=10) 
[1] 1268758519 

दूसरा एक (as.POSIXct का प्रयोग करके) मूल इनपुट वापस नहीं करता है। दुर्भाग्यवश, ब्रायन डी। रिपली यहां एकमात्र इंसान हैं जो सभी विवरण यहां हैं।

अंत में, आप मूल के बिना इसे नहीं कर सकते हैं। लेकिन आप रैपर को परिभाषित कर सकते हैं जो युग का उपयोग मूल के रूप में करते हैं (यहां के रूप में) या 2000-01-01 या ... का उपयोग करें ... बस इसे सुसंगत रखें।

+0

डिर्क - आपके स्पष्टीकरण के लिए धन्यवाद। तो आप क्या सुझाव देते हैं कि मैं यहाँ करता हूं? मेरे पास यूनिक्स टाइमस्टैम्प के साथ एक पूर्णकालिक श्रृंखला डेटासेट है। मैं उन्हें प्रतिनिधित्व करने के लिए एक्सटीएस का उपयोग करने की उम्मीद कर रहा था। – signalseeker

+0

वैसे मैं यह भी हर समय करता हूं (आंतरिक डेटा गोदामों से डेटा इंटरफेस करते समय) और मैं बस स्वीकार करता हूं कि 'as.POSIXct (vecOfTimestamps)' को स्थानीय समय मान मिलेगा। हमने जो पाया, उसे देखते हुए, 'as.POSIXlt' के माध्यम से पहले एक अतिरिक्त चरण के रूप में जाकर मदद मिल सकती है। मैं अभी भी आरसीपीपी के लिए एक TODO आइटम के रूप में एक उचित सी ++ प्रतिनिधित्व के लेखन के बारे में लिख रहा हूं। –

+0

अभी के लिए धन्यवाद मैं अतिरिक्त कदम जाने के लिए अपना सुझाव लेगा। मुझे मौका मिलने पर और गहराई से देखने के लिए कुछ। क्या कोई आर बग ट्रैकर है जहां मैं इसे पोस्ट कर सकता हूं? – signalseeker

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