Zend framework2 在Zend Framework 2中,如何显示当前年份?

Zend framework2 在Zend Framework 2中,如何显示当前年份?,zend-framework2,Zend Framework2,我试图使用Zend Framework 2显示当前年份,我发现的文档中没有介绍如何输出自定义日期格式 文档可在此处找到: 如果有人能为我提供Zend Framework 2语法输出自定义日期/时间格式,我将不胜感激。谢谢大家! 看看这个,就这样 复制并将答案粘贴到此处: Zend_Date已被删除,取而代之的是PHP5.3 DateTime API 查看ZF2中的DateFormat帮助程序,这似乎是不可能的。基本上,只要使用php类就足够了 Zend Framework 1或2并不包装所有内容

我试图使用Zend Framework 2显示当前年份,我发现的文档中没有介绍如何输出自定义日期格式

文档可在此处找到:

如果有人能为我提供Zend Framework 2语法输出自定义日期/时间格式,我将不胜感激。谢谢大家!

看看这个,就这样

复制并将答案粘贴到此处: Zend_Date已被删除,取而代之的是PHP5.3 DateTime API

查看ZF2中的DateFormat帮助程序,这似乎是不可能的。基本上,只要使用php类就足够了

Zend Framework 1或2并不包装所有内容。当php的某些部分是完美的时,它不会被替换

编辑:这对提问者有效:

$datetime = new DateTime(null, new DateTimeZone('America/Chicago')); 
echo $datetime->format('Y');
看看这个,就这样

复制并将答案粘贴到此处: Zend_Date已被删除,取而代之的是PHP5.3 DateTime API

查看ZF2中的DateFormat帮助程序,这似乎是不可能的。基本上,只要使用php类就足够了

Zend Framework 1或2并不包装所有内容。当php的某些部分是完美的时,它不会被替换

编辑:这对提问者有效:

$datetime = new DateTime(null, new DateTimeZone('America/Chicago')); 
echo $datetime->format('Y');

Zend Framework 2不再提供任何特定的日期对象。相反,它与本机php一起工作。您可以使用DateTime对象,它们可以在助手中使用以转换输出

另外,您提到的视图帮助器是专门针对i18n的。时间戳的格式在每个国家都不同,所以这就是帮助器的用途。然而,在美国、英国和中国,2013年是2013年。没有必要为此使用i18n

因此,当前年份仅直接与DateTime一起使用,并使用日期格式化:


您可能需要使用Y或Y。Zend Framework 2不再提供任何特定的日期对象。相反,它与本机php一起工作。您可以使用DateTime对象,它们可以在助手中使用以转换输出

另外,您提到的视图帮助器是专门针对i18n的。时间戳的格式在每个国家都不同,所以这就是帮助器的用途。然而,在美国、英国和中国,2013年是2013年。没有必要为此使用i18n

因此,当前年份仅直接与DateTime一起使用,并使用日期格式化:


您可能需要使用Y或Y。

非常感谢您的帮助!通过查看您发布的链接,我能够想出一个在Zend Framework 2中工作的解决方案,并且没有抛出任何错误或警告。这里是我使用的最后一个代码:$datetime=newdatetimenull,newdatetimezone'America/Chicago';echo$datetime->format'Y';下一步是接受我的答案:很高兴能帮上忙。伊兹诺古德显然对他的问题进行了编辑,以得到与我在下面所写的相同的答案:无论如何,记住,你不需要在这个结构中设置时区。确保你设置了时区,这样你就不会收到任何关于这个的警告。不要在DateTime中设置时区,因为这会使代码非常不灵活。要了解如何设置时区,请查看以下问题:@JurianSluiman我在你朋友之前7小时回答了。我编辑的是RichVRed的评论,其中包含帮助他的代码。不管怎么说,这是完全合法的,在这里,我们努力得到最好的答案,如果有人的一部分答案可以帮助我们使用它。这不是一场受欢迎程度的竞赛:就像我说的,看看我在你之前7小时写的解释。求你了。@Iznogood不用担心。我确切地知道你写了什么,这就是我发布第二个答案的原因,因为我认为代码将有助于让答案更清晰,记住笑脸,尽管它很小,但我也评论指出,如果你没有很好的理由,时区不应该是日期时间结构的一部分。最好是在服务器范围内或至少在应用程序范围内设置正确的时区,因为您会不断复制/粘贴时区,并且在时区更改或应用i18n for Realt时会遇到许多问题感谢您的帮助!通过查看您发布的链接,我能够想出一个在Zend Framework 2中工作的解决方案,并且没有抛出任何错误或警告。这里是我使用的最后一个代码:$datetime=newdatetimenull,newdatetimezone'America/Chicago';echo$datetime->format'Y';下一步是接受我的答案:很高兴能帮上忙。伊兹诺古德显然对他的问题进行了编辑,以得到与我在下面所写的相同的答案:无论如何,记住,你不需要在这个结构中设置时区。确保你设置了时区,这样你就不会收到任何关于这个的警告。不要在DateTime中设置时区,因为这会使代码非常不灵活。要了解如何设置时区,请查看以下问题:@JurianSluiman我回答了7个小时
在你之前,我编辑的是RichVRed的评论和帮助他的代码。不管怎么说,这是完全合法的,在这里,我们努力得到最好的答案,如果有人的一部分答案可以帮助我们使用它。这不是一场受欢迎程度的竞赛:就像我说的,看看我在你之前7小时写的解释。求你了。@Iznogood不用担心。我确切地知道你写了什么,这就是我发布第二个答案的原因,因为我认为代码将有助于让答案更清晰,记住笑脸,尽管它很小,但我也评论指出,如果你没有很好的理由,时区不应该是日期时间结构的一部分。最好是在服务器范围内或至少在应用程序范围内设置正确的时区,因为您会不断复制/粘贴时区,并且在时区更改或实际应用i18n时会遇到许多问题