227_emacs lisp获取当前的时间

完整的common lisp的学习集合整理如下:

    https://github.com/GreyZhang/g_lisp

    继续分析spacemacs的配置,代码如下:

227_emacs lisp获取当前的时间

    其中,第11行代码已经做了分析,第12行代码是什么意思呢?从代码结构来看,这里定义了一个常量作为emacs的启动时间。常量的数值是什么呢?是current-time函数的返回值。

    接下来,学习的对象就是这个current-time函数了。查看emacs的内置帮助如下;

227_emacs lisp获取当前的时间

    这个函数返回的是自从1970年以来的时间,单位是秒。不过,这个函数的返回值不是一个简单的数值,而是一个字符串。其中,秒的部分还被分割成了两部分,其中一部分是16bit的低位,剩下的是高位。另外两个元素分别是微秒和皮秒?如果做一个测试确认,我觉得能够把前两个计算出来应该就足以说明问题了。

    测试如下:

227_emacs lisp获取当前的时间

    这样,使用我常用的计算工具python来做一个计算试试看:

227_emacs lisp获取当前的时间

    把转换出来的秒大概换算成年,不考虑什么闰年等影响,大概过了50年。从1970年算起,正好是2020年。今天是2020-02-12,看起来计算准确。

完整的common lisp的学习集合整理如下:

    https://github.com/GreyZhang/g_lisp