当前位置: 首页 > 知识库问答 >
问题:

树枝中本地化过滤器的奇怪行为

汪安然
2023-03-14

在Twig中,我有一个这样的日期时间(从转储):

DateTime {#22261 ▼
  +"date": "2017-01-01 08:00:00.000000"
  +"timezone_type": 1
  +"timezone": "+01:00"
}

当我用不同的过滤器打印这个日期时,我会得到不同的年度结果。

例子:

{{ testdate|date('d M Y') }} 

打印01 Jan 2017=

{{ testdate|localizeddate('none', 'none', "fr", "Europe/Paris", "d MMM YYYY") }}

打印1 janv.2016=

{{ testdate|localizeddate('medium', 'none', "fr") }}

打印1 janv。2017年=

因此,当我使用本地化数据('none','none','fr','Europe/Paris','d MMM YYYY')时,年份似乎是错误的。

如果我将区域设置更改为“en”,则年份现在是正确的(2017年)。但如果我尝试在其他地方,如“de”,“it”,“es”,“pl”,年份总是“2016”。

注意:如果我将时区参数设为null,则结果相同。


共有1个答案

满增
2023-03-14

http://userguide.icu-project.org/formatparse/datetime

你必须用“y”而不是“y”。

用“Y”表示一周中的年份,但用“Y”表示正确的年份。

有时,一月的一个短周被视为十二月的一部分(第52周或第53周),反之亦然。

 类似资料:
  • 我在http://www.nodebeginner.org上读了一篇教程,我在数据输出中有一个奇怪的行为。我知道,Stackoverflow也有类似的问题,但没有答案。所以我有这个Web-Server的代码: 调用RequestHandler.Upload的Router.js代码-我的buggy函数 和RequestHandler.Upload的代码 假设POST数据中有一个字符串。该函数的第一行

  • 我有以下代码来解析一个JSON文件: 要处理以下JSON文件: 如果我执行此代码,我将收到以下错误: 所以我开始一步一步地调试应用程序,看看part processing()中的哪个代码部分抛出了这个异常。令人惊讶的是,那里的所有代码都正常执行:没有抛出异常,也没有返回结果I except。 更让我惊讶的是,当我稍微改变第一种方法的代码时,它可以在不产生异常的情况下工作。 我不知道println方

  • 如果我们使用<code>系统使用本机库。loadLibrary()然后<code>SupportMapFragment。它在没有任何stacktrace的情况下实现了这一点。这是我能收集到的最好的日志: 我花了几天时间试图了解导致它的原因,似乎如果我们删除调用,即不使用我们的本机lib,那么就可以正常工作。有什么方法可以在不删除我们的本机lib的情况下解决它吗? 编辑:我创建了一个示例应用程序来重

  • 我正在编写一个DocumentFilter,它将输入JTextField的所有单词“top”替换为逻辑top符号。 使用此代码很好,但是它很烦人,因为用户必须重新键入他们的空间,他们可以这样做,并且文本继续在同一行上 当用户继续键入文本时,使用此代码并在空格中添加替换符会导致顶部符号和JTextField中的所有文本稍微向上推,然后转到下面并开始一行新的内容 有人能解释一下这种行为,并希望能提供一

  • 我在做Maven项目。我用log4j做了一个日志。但它在给定的文件中显示了一些starnge日志。我试图理解,为什么会出现这种奇怪的日志,但我不明白。请帮助我,为什么这些不需要的行会进入日志文件。 请帮我把这个拿开。 log.properties 我通过阅读这个链接创建了这个文件。 代码是 日志txt-(log.txt的一些起始行)

  • 使用方式如下: 这是有效的解决方案吗?如果删除未使用的“魔术”变量 - 我在返回字符串后有分割错误。做错了什么? $gcc--version gcc(Debian 4.4.5-8)4.4.5 $uname-Linux深度站(挤压)2.6.32-5-686#1 SMP 5月10日星期五08:33:48 UTC 2013 i686 GNU/Linux