Jekyll 日期格式化

日期获取

Jekyll 使用 Shopify’s Liquid Template Engine,在页面上使用post.date获取Page Date(即文章的发布日期) 由于Jekyll会解析处理表达式内容,因此例子代码不加大括号。

post.date //左右加两个大括号
2017-06-03 00:00:00 +0000 // 结果

简单说明:+0000是格林威治时间(GMT),这里显示+0100是因为现在是六月,处于夏令时期间所以向前调整了一个小时。打个比方,每年的11月到3月伦敦与北京的时差是8h,但3月26日左右-10月底时差变为7h。

获取日期值

% assign m = page.date | date: "%-m" % //左右加一个大括号
//此时m的值为月份的值

但这也太丑了,不用。不过还有很多其他的选项,下面一一总结。

日期格式化

Jekyll 内置日期样式

默认样式

post.date //左右加两个大括号
2017-06-03 00:00:00 +0000 // 结果

Date to String

page.date | date_to_string
03 Jun 2017 // 结果
03 Jul 2017
03 Sep 2017

Date to Long String

page.date | date_to_long_string
03 June 2017 // 结果
03 July 2017
03 September 2017

Date to XML Schema

page.date | date_to_xmlschema

2017-06-03T00:00:00+00:00 // 结果

Date to RFC-822

page.date | date_to_rfc822
Sat, 03 Jun 2017 00:00:00 +0000 // 结果

Liquid 日期样式

ISO 8601国际标准

page.date | date: "%Y-%m-%d"
2017-06-03 // 结果

U.S. Numeric Style with Four Digit Years(如果是1月就显示1)

page.date | date: "%-m/%-d/%Y"
6/3/2017 // 结果

U.S. Numeric Style with Four Digit Years(如果是1月显示01)

page.date | date: "%m/%d/%Y" 
06/03/2017 //结果

U.S. Style with Full Month Name

page.date | date: "%B %-d, %Y" 
June 3, 2017 // 结果

U.S. Style Full Day and Full Month Names(星期几)

page.date | date: "%A, %B %-d, %Y"
Saturday, June 3, 2017 // 结果

自定义日期格式

年月日中文格式

post.date | date: "%Y年%-m月%-d日" 
2018年2月7日  //结果

参考

  1. Jekyll Date Formatting Examples
  2. Jekyll博客中的日期格式总结