adspectus / date-extended
插件提供了两个额外的日期字段,用于存储创建日期和修改日期,以Unix纪元格式存储。提供了一种字段方法,可以将这个纪元转换为格式化的字符串。
Requires
README
Kirby 3 插件,提供作为纪元的附加日期字段。
使用从1970年1月1日0:00 GMT开始计数的秒数作为日期/时间字段的原因是,可以有一个关于日期和时间的通用有效信息,从它可以推导出所有其他类型的信息,即不同时区中的同一时间点。此外,使用纪元计算或比较不同的日期或时间点更简单。缺点是它不是非常符合人类阅读和书写的习惯。然而,不应该有任何严肃的编程或脚本语言不包含内置函数来在纪元和人类友好的日期和时间之间进行转换。
这里使用的time()
函数写入的纪元始终指的是GMT,可以用作与UTC相同的时间,尽管GMT和UTC并不相同。因此,纪元的值不受您的php.ini
文件中时区设置的直接影响,但由date()
函数返回的格式化日期将考虑这一点。
入门指南
先决条件
- Kirby 3
安装
您可以通过以下方法之一安装此插件
-
Composer
composer require adspectus/date-extended
-
手动
克隆此存储库或下载当前版本,并将文件
index.php
提取到Kirby安装的新文件夹site/plugins/date-extended
中。
使用方法
此插件使用page.create:after
钩子将2个额外的字段存储到页面中,即创建和修改日期/时间作为Unix纪元。使用page.update:after
和page.changeTitle:after
钩子仅更新修改日期。
此外,插件提供了一种字段方法epoch2date
,用于以格式化的字符串形式返回这个纪元。该字符串的默认格式设置为D, j M Y H:i:s T
,但可以在全局范围内通过网站配置进行更改
'adspectus.date-extended.dateFormat' => string or constant
或者作为字段方法的参数。
字段名可以设置如下
'adspectus.date-extended.dateCreated' => 'myCreationDate',
'adspectus.date-extended.dateModified' => 'myModificationDate',
否则,它们默认为dateCreatedEpoch
和dateModifiedEpoch
。
示例
安装此插件后,当您创建并更改(文本或标题)页面时,您的内容文件中将出现这些字段
----
Datecreatedepoch: 1592831460
----
Datemodifiedepoch: 1592831953
----
然后,您可以在蓝图中使用它
fields:
date_created_info:
type: info
label:
en: Creation Date
de: Erstellungsdatum
theme: none
text: "{{ page.dateCreatedEpoch.epoch2date }}"
date_modified_info:
type: info
label:
en: Last Modification
de: Letzte Aktualisierung
theme: none
text: "{{ page.dateModifiedEpoch.epoch2date('c') }}"
在面板上它将看起来像这样
许可证
致谢
- texnixe 对于基本内容