La format-time-string
fonction prend un argument de temps comme '(21761 64499 350937 0)
et une chaîne de format comme "%y-%m-%d %a %H:%M"
et renvoie quelque chose comme "15-03-12 Thu 16:49"
.
Quelle est la fonction inverse, qui prend "15-03-12 Thu 16:49"
et "%y-%m-%d %a %H:%M"
, et retourne '(21761 64499 350937 0)
?
J'essaie d'analyser les heures d'un site Web afin de les convertir en horodatages en mode org, mais j'ai du mal à trouver la bonne fonction dans la documentation emacs.
Modifier Je fais la promotion de cela de mon commentaire à la réponse d'erikstoke. parse-time-string
et org-parse-time-string
sont insuffisants car, bien qu'ils analysent de nombreuses chaînes de temps standard, ils ne permettent pas les formats spécifiés. Les deux fonctions sont plutôt incompréhensibles. En particulier, ils manquent de prise en charge ISO8601 .
la source
(parse-time-string (current-time-string))
travaille ici.J'ai eu une situation similaire, mais je n'ai rien trouvé qui fonctionnait hors de la boîte. Mais comme il
org-time-stamp
gère toutes sortes de formats, j'ai pensé que le code était là. La fonction ci-dessous insérera un horodatage org à partir d'une chaîne horaire fournie. Je ne l'ai pas testé depuis toutes sortes de fois, mais pour lui"15-03-12 Thu 16:49"
ça va donner"[2015-03-12 tor 16:49]"
. ("tor"
c'est jeudi dans ma région).Cette réponse ne correspond donc pas entièrement à la question, car vous n'avez pas de moyen de fournir la chaîne de format, mais j'espère que cela fonctionnera de toute façon. Il doit comprendre tous les formats gérés par org-time-stamp.
la source
how can I parse a string with a specified format?
Cette fonction insère une horodatage avec un format spécifié.