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


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.