【问题标题】:Dates and times in Emacs LispEmacs Lisp 中的日期和时间
【发布时间】:2011-09-18 22:56:09
【问题描述】:

我知道 emacs lisp 非常适合处理日期和时间,但它是否具有使用 %Y, %m, %d, %H, %M, %S, 等格式将字符串转换为整数的内部表示的功能?而且,在 emacs 参考手册中,它说时间是两个或三个整数的列表,但是有更正式的规范或描述吗? ~ 谢谢~

编辑:感谢您的回复 - 但我想我想知道是否有一个函数可以反向执行 format-time-string(如 parse-time-string,但具有输入字符串的结构规范) ?

Edit2:我猜答案是没有内置任何东西......但是已经实现了部分实现here

【问题讨论】:

  • 我刚刚尝试了 strptime.el,它甚至不适用于文件中给出的“手动测试”示例;显然替换字符串不再在 emacs 中。太糟糕了,我正在寻找相同的功能。
  • 创建别名(defalias 'replace-in-string 'replace-regex-in-string)是否有效?

标签: emacs elisp


【解决方案1】:

大多数时间相关函数以三个整数的列表形式返回时间。第一个有 秒的最高有效 16 位,而第二个有 最低有效 16 位。第三个整数给出微秒 数。

在不提供的系统上,微秒计数为零 分辨率小于一秒。

至于您的其他问题,请查看手册中的this section,以防您错过。

【讨论】:

    【解决方案2】:
    (defun encode-time-string (string)
      (apply #'encode-time (parse-time-string string)))
    

    内部表示可能会改变;我认为最好使用提供的文档化 API(编码时间、解码时间等)来访问它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 2020-10-19
      相关资源
      最近更新 更多