使用 Liquid 标记在 Jekyll 中获取今天的日期
Posted
技术标签:
【中文标题】使用 Liquid 标记在 Jekyll 中获取今天的日期【英文标题】:Get today's date in Jekyll with Liquid markup 【发布时间】:2012-09-09 23:42:33 【问题描述】:我认为这(应该)很简单,但我无法使用 Liquid 标记在 Jekyll 页面中显示今天的日期。根据the documentation,我应该可以这样做以获得这个日期的年份:
'now' | date: "%Y"
但渲染的只是字符串now
,而不是任何格式化的日期。我做错了什么?
【问题讨论】:
我认为这个错误已经修复。使用 jekyll 3.2.1 和ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
它正在工作
现在可以正常使用了。
【参考方案1】:
site.time
表示网站更新的时间,它是固定日期而不是动态日期。
此类请求需要带有Date.getTime()
或Date.now()
的javascript 示例:
<script>document.write(Math.round(Date.now() / (365 * 24 * 60 * 60 * 1000) + 1970 - 1));</script>
【讨论】:
这是不必要的冗长。如果您打算使用 JS,则使用Date
表示对象而不是 Date.now
整数。 x = newDate(); x.getFullYear(); // 2021
【参考方案2】:
也许问题标题具有误导性,但我实际上想要的是今天的日期而不是年份。这对我有用:
site.time | date: '%B %d, %Y'
今天制作:2019 年 1 月 4 日
【讨论】:
【参考方案3】:要从site.time
获取全年,例如“2015”,您可以使用:
site.time | date: '%Y'
# OR
20 site.time | date: '%y'
要获取 2015 年的最后 2 位数字,这将只输出 "15":
site.time | date: '%y'
【讨论】:
这基本上重复了我回答后的评论。 @MarkThomas 但仍然有很好的解释。 @MarkThomas 您应该使用 Ruby 1.9.3 后的答案更新您的答案。【参考方案4】:这对我也不起作用。看来您遇到了 Ruby 1.9.3 支持中的一个当前错误。有一个pull request 修复了这个错误,但它还没有被合并。列出了一种解决方法,也许它对您有用:
site.time | date: '%y'
【讨论】:
或 site.time |日期:2014 年的“%Y” 很确定这只是从您上次运行jekyll
命令开始的时间。从理论上讲,如果您不经常更新您的网站,这可能会变得陈旧。总而言之,和获取当前时间是不一样的。
@menehune23 无论如何,这一点没有实际意义。该修复程序已合并到 jekyll 中,因此 OP 的代码有效,不再需要此解决方法。
同意。只是想向那些不知道它现在就在里面的人指出它(并且没有自己尝试过)
@menehune23 不确定您是否暗示此解决方法与 OP 尝试做的有任何不同。以上是关于使用 Liquid 标记在 Jekyll 中获取今天的日期的主要内容,如果未能解决你的问题,请参考以下文章