การแยกสตริงเวลาที่จัดรูปแบบ (ผกผันของรูปแบบเวลาสตริง)


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)?

ฉันกำลังพยายามแยกเวลาออกจากเว็บไซต์เพื่อแปลงเป็น timestamps ในโหมด org แต่ฉันมีปัญหาในการค้นหาฟังก์ชันที่เหมาะสมในเอกสาร emacs

แก้ไขฉันกำลังโปรโมตสิ่งนี้จากความคิดเห็นของฉันไปยังคำตอบของ erikstoke parse-time-stringและorg-parse-time-stringไม่เพียงพอเพราะในขณะที่แยกวิเคราะห์สตริงเวลามาตรฐานจำนวนมากพวกเขาไม่อนุญาตให้ใช้รูปแบบที่ระบุ ฟังก์ชั่นทั้งสองค่อนข้างไม่ครอบคลุม พวกเขาขาดการสนับสนุนISO8601

คำตอบ:


4

parse-time-stringแยกวิเคราะห์ "มาตรฐาน" org-parse-time-stringสตริงเวลาเช่นเดียวกับ เอกสารอ้างสิทธิ์หลังจะเร็วขึ้น ไม่มีวิธีการระบุรูปแบบของสตริง

นอกจากนี้ยังมีฟังก์ชั่นที่ไม่มีเอกสารparse-iso8601-time-stringที่แยกวิเคราะห์ ISO8601 เป็นบางสิ่งบางอย่าง ไม่ชัดเจนสำหรับฉันว่าผลลัพธ์ที่ควรจะเป็นคืออะไร


ที่จริงฉันเช็คเอาท์ พวกเขากลับมา "ข้อกำหนดเวลาไม่ถูกต้อง" เมื่อป้อน ISO8601 ซึ่งเป็นเหตุผลที่ฉันยังคงมองหา
Matthew Piziak

(parse-time-string (current-time-string))ทำงานที่นี่
wasamasa

มีฟังก์ชั่นที่อ้างว่าทำสิ่งนี้ แต่ฉันไม่เห็นว่าผลลัพธ์ควรจะหมายถึงอะไร ฉันแก้ไขมันเป็นคำตอบของฉัน
erikstokes

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? ฟังก์ชั่นนี้จะแทรกการประทับเวลาด้วยรูปแบบที่ระบุ
Cheeso
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.