पार्सिंग स्वरूपित समय स्ट्रिंग (प्रारूप-समय-स्ट्रिंग का उलटा)


10

format-time-stringसमारोह की तरह एक समय तर्क लेता '(21761 64499 350937 0)और की तरह एक प्रारूप स्ट्रिंग "%y-%m-%d %a %H:%M"और की तरह कुछ देता है "15-03-12 Thu 16:49"

उलटा फ़ंक्शन क्या है, जो लेता है "15-03-12 Thu 16:49"और "%y-%m-%d %a %H:%M", और रिटर्न करता है '(21761 64499 350937 0)?

मैं एक वेबसाइट से समय को पार्स करने की कोशिश कर रहा हूं ताकि उन्हें ऑर्ग-मोड टाइमस्टैम्प में परिवर्तित किया जा सके, लेकिन मुझे एमएसीएस प्रलेखन में सही फ़ंक्शन खोजने में परेशानी हो रही है।

संपादित करें मैं अपनी टिप्पणी से इसे हटाने के लिए प्रचार कर रहा हूं। parse-time-stringऔर org-parse-time-stringअपर्याप्त हैं क्योंकि जब वे कई मानक समय स्ट्रिंग्स को पार्स करते हैं, तो वे निर्दिष्ट प्रारूपों के लिए अनुमति नहीं देते हैं। दोनों कार्य बल्कि समझ से बाहर हैं। विशेष रूप से, उनके पास ISO8601 समर्थन की कमी है ।

जवाबों:


4

parse-time-string"मानक" समय तार को पार करता है, जैसा कि करता है org-parse-time-string। प्रलेखन का दावा है कि उत्तरार्द्ध तेजी से होगा। न ही स्ट्रिंग के प्रारूप को निर्दिष्ट करने का एक तरीका देता है।

एक parse-iso8601-time-stringनिर्विवाद फ़ंक्शन भी है जो ISO8601 को किसी चीज़ में पार्स करता है। यह मेरे लिए स्पष्ट नहीं है कि आउटपुट क्या माना जाता है।


वास्तव में, मैंने उन लोगों की जाँच की। वे भी "अमान्य समय विनिर्देश" लौटाते हैं जब ISO8601 खिलाया जाता है, यही कारण है कि मैं अभी भी देख रहा हूं।
मैथ्यू Piziak

(parse-time-string (current-time-string))यहाँ काम करता है।
वामासा

एक फ़ंक्शन है जो ऐसा करने का दावा करता है, लेकिन मैं यह नहीं देखता कि आउटपुट का मतलब क्या है। मैंने इसे अपने उत्तर में संपादित किया।
एरिकस्टोक्स

2

मेरे पास भी ऐसी ही स्थिति थी लेकिन मुझे बॉक्स से बाहर काम करने का कुछ नहीं मिला। लेकिन चूंकि org-time-stampमैं सभी प्रकार के प्रारूपों को संभालता हूं, मुझे लगा कि कोड था। नीचे दिए गए फ़ंक्शन एक प्रदान किए गए टाइम स्ट्रिंग से ऑर्ग टाइम स्टैम्प सम्मिलित करेंगे। मैंने इसे हर तरह के समय के लिए परीक्षण नहीं किया है, लेकिन इसके लिए "15-03-12 Thu 16:49"यह देना होगा "[2015-03-12 tor 16:49]"। ( "tor"मेरे लोकल में गुरुवार है)।

तो यह उत्तर पूरी तरह से प्रश्न से मेल नहीं खा रहा है, क्योंकि आपके पास प्रारूप स्ट्रिंग प्रदान करने का एक तरीका नहीं है, लेकिन उम्मीद है कि यह वैसे भी काम करेगा। यह उन सभी प्रारूपों को समझना चाहिए जो ऑर्ग-टाइम-स्टैंप संभालते हैं।

(defun jk-org-insert-time-stamp (time-string)
  (interactive "sTime: ")
  (let ((default-time (apply 'encode-time (decode-time))))
    (org-insert-time-stamp
     (apply 'encode-time (org-read-date-analyze time-string default-time default-time)) t t)))

इस सवाल का जवाब नहीं है। सवाल how can I parse a string with a specified format? यह था कि, यह फ़ंक्शन एक निर्दिष्ट प्रारूप के साथ टाइमस्ट्रीमिंग सम्मिलित करता है।
चेसो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.