【问题标题】:Get today's date in Jekyll with Liquid markup使用 Liquid 标记在 Jekyll 中获取今天的日期
【发布时间】: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] 它正在工作
  • 现在可以正常使用了。

标签: ruby datetime jekyll liquid


【解决方案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 尝试做的有任何不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 2014-09-13
    • 2019-05-14
    相关资源
    最近更新 更多