मिलीसेकंड पार्स कैसे करें?


85

strptimeआर में मिलीसेकंड के साथ समय टिकटों को पार्स करने के लिए मैं या किसी अन्य फ़ंक्शन का उपयोग कैसे करूं ?

time[1]
# [1] "2010-01-15 13:55:23.975"
strptime(time[1], format="%Y-%m-%d %H:%M:%S.%f")
# [1] NA
strptime(time[1], format="%Y-%m-%d %H:%M:%S")
# [1] "2010-01-15 13:55:23"`

जवाबों:


121

?strptimeमदद फ़ाइल के सौजन्य (उदाहरण के साथ आपके मूल्य में परिवर्तन):

 z <- strptime("2010-01-15 13:55:23.975", "%Y-%m-%d %H:%M:%OS")
 z # prints without fractional seconds
 op <- options(digits.secs=3)
 z
 options(op) #reset options

धन्यवाद, मुझे याद आया कि स्ट्रैप्टम डॉक में। मैं एक प्रारूप चरित्र की तलाश में था और जब मैंने एक नहीं देखा तो हार मान ली।
— सिग्नलसेकर

8
अगर मैं आपके सम्मान में एक स्मारक रख सकता हूं, तो मैं करूंगा!
— jkff

2
तो क्या मैं! "% OS" बिट बहुत बढ़िया है।
— पियरे डी

यह केवल अजगर 3 या कुछ में है? मेरे python2.7.8 में: >>> time.strptime (t, "% Y-% m-% d% H:% M:% OS") ट्रेसबैक (सबसे हालिया कॉल अंतिम): फ़ाइल "<stdin>", पंक्ति 1, में <मॉड्यूल> फ़ाइल "/opt/pythons/2.7/lib/python2.7/_strptime.py", पंक्ति 467, _strptime_time रिटर्न _strptime (data_string, प्रारूप) [0] फ़ाइल "/ ऑप्ट / अजगर / में / 2.7.8 / lib / python2.7 / _strptime.py ", पंक्ति 317, _strptime (bad_directive, स्वरूप) में) ValueError: 'O' प्रारूप में एक बुरा निर्देश है '% Y-% m-% d-% d% H:% M:% OS '
— फायरबश

1
@firebush: यह आर में है। कुछ प्लेटफॉर्म पर इसे "% Y-% m-% d% H:% M:% OS3" की आवश्यकता हो सकती है। "ओएस" प्रारूप के कार्यान्वयन को मदद पृष्ठों पर ओएस-विशिष्ट के रूप में लेबल किया गया है।
— IRTFM

31

आप strptime(time[1], "%OSn")बिना सेट किए भी 0 <= n <= 6 का उपयोग कर सकते हैं digits.secs।

प्रलेखन में कहा गया है "इनमें से कौन समर्थित है ओएस-निर्भर।" तो YMMV।


2
यह मेरे लिए भी उबंटू पर काम नहीं करता था। वह पैदावार NA है।
— प्रकाश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.