형식화 된 시간 문자열 구문 분석 (format-time-string의 역)


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"and 를 가져 와서 "%y-%m-%d %a %H:%M"반환 하는 역함수는 무엇입니까 '(21761 64499 350937 0)?

웹 사이트에서 시간을 구문 분석하여 조직 모드 타임 스탬프로 변환하려고하지만 emacs 설명서에서 올바른 기능을 찾는 데 문제가 있습니다.

편집 내 의견에서 erikstoke의 답변으로 이것을 홍보하고 있습니다. parse-time-string그리고 org-parse-time-string그들은 많은 표준 시간 문자열을 구문 분석하는 동안, 그들은 지정된 형식을 허용하지 않기 때문에 불충분하다. 두 기능은 다소 포괄적입니다. 특히 ISO8601 지원이 부족 합니다.

답변:


4

parse-time-string"표준"시간 문자열을 구문 분석합니다 org-parse-time-string. 문서는 후자가 더 빠를 것이라고 주장합니다. 문자열의 형식을 지정하는 방법도 제공하지 않습니다.

parse-iso8601-time-stringISO8601을 무언가로 구문 분석 하는 문서화되지 않은 함수도 있습니다 . 결과물이 무엇인지 명확하지 않습니다.


실제로, 나는 그것들을 조사했다. ISO8601을 공급하면 "잘못된 시간 사양"을 반환하기 때문에 여전히 찾고 있습니다.
Matthew Piziak 2016 년

(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"내 로케일에서 목요일입니다).

따라서이 답변은 형식 문자열을 제공 할 수있는 방법이 없기 때문에 질문과 완전히 일치하지는 않지만 어쨌든 잘 작동 할 것입니다. org-time-stamp가 처리하는 모든 형식을 이해해야합니다.

(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.