Jekyll中YAML对象的有效时间格式及Date转换问题咨询
Jekyll日期/时间字段解析与排序问题解决办法
一、让带时间的格式被解析为Date对象
Jekyll基于Ruby的日期解析规则,你可以使用ISO 8601简化格式:yyyy-mm-ddTHH:mm(用T分隔日期和时间),这种格式不需要秒数和时区信息,会被自动解析为DateTime对象。
比如在front matter的对象中这样写:
--- events: - title: 线下分享会 datetime: 2024-06-15T19:30 - title: 线上研讨会 datetime: 2024-06-10T14:00 ---
这样所有datetime字段都会被统一解析为DateTime类型,就能正常使用sort函数排序。
二、强制所有日期/时间保持字符串格式
如果不想让Jekyll转换任何日期格式,统一用字符串处理,最直接的方法是给日期/时间字符串加引号(单引号或双引号均可),让YAML将其识别为纯字符串,避免被解析为Date对象。
示例:
--- events: - title: 线下分享会 datetime: '2024-06-15 19:30' - title: 线上研讨会 datetime: '2024-06-10 14:00' ---
由于yyyy-mm-dd hh:mm格式的字符串按字典序排序的结果和时间顺序完全一致,所以直接用sort函数就能实现按时间排序的需求。
内容的提问来源于stack exchange,提问作者Vadim Kantorov
相关产品推荐
相关产品推荐

