【问题标题】:In Zend Framework 2 How do you display the current year?在 Zend Framework 2 中如何显示当前年份?
【发布时间】:2012-12-25 12:36:30
【问题描述】:

我正在尝试使用 Zend Framework 2 显示当前年份,我发现的文档并未涵盖如何输出自定义日期格式。

文档可以在这里找到:https://packages.zendframework.com/docs/latest/manual/en/modules/zend.i18n.view.helper.date.format.html?highlight=dateformat

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

【问题讨论】:

    标签: zend-framework2


    【解决方案1】:

    在此查看question

    在此处复制粘贴答案: Zend_Date 已被删除以支持 PHP 5.3 DateTime API http://es.php.net/manual/en/book.datetime.php

    在 ZF2 中查看 source code 的 DateFormat Helper 似乎是不可能的。基本上只需使用 php 类就足够了。

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

    编辑:这对提问者有效:

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

    【讨论】:

    • 非常感谢您的帮助!通过查看您发布的链接,我能够提出一个在 Zend Framework 2 中有效的解决方案,并且不会引发任何错误或警告。这是我使用的最终代码:$datetime = new DateTime(null, new DateTimeZone('America/Chicago')); echo $datetime->format('Y');
    • 下一步是接受我的回答 :) 很高兴能提供帮助。
    • Iznogood 显然编辑了他的问题以获得与我在下面写的相同的答案:) 无论如何,请注意您不需要在此构造中设置时区。确保您设置了时区,这样您就不会收到任何警告。不要在DateTime 中设置时区,因为这会使代码非常不灵活。要了解如何设置时区,请查看以下问题:stackoverflow.com/questions/2213608/…
    • @JurianSluiman 我比你早 7 小时回答。我编辑的是来自 RichVRed 的评论以及帮助他的代码。无论如何,这在这里是完全合法的,我们努​​力获得最好的答案,如果其他人的答案可以帮助我们使用它。这不是人气竞赛 :) 就像我说的那样,看看编辑我在你做之前 7 小时写了我的解释。请。
    • @Iznogood 不用担心。我确切地知道你写了什么,这就是我发布第二个答案的原因,因为我认为 code 将有助于使答案更清晰(请注意笑脸,虽然它很小)我还评论指出如果您没有充分的理由,时区应该成为DateTime 构造的一部分。最好在服务器范围或至少在应用程序范围内获得正确的时区,因为您将不断复制/粘贴时区并在它更改时遇到很多麻烦(或者您真正应用 i18n)
    【解决方案2】:

    Zend Framework 2 不再提供任何特定的日期对象。相反,它适用于原生 php DateTime。您使用 DateTime 对象,它们可以在助手中使用以转换输出。

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

    因此,当前年份直接与DateTime 一起使用,并使用date() format parameters 格式化:

    $date = new DateTime;
    
    $date->format('o'); // ISO-8601 year, four digits
    $date->format('Y'); // Four digits
    $date->format('y'); // Two digits
    

    您可能想要使用Yy

    【讨论】:

      猜你喜欢
      • 2011-09-04
      • 2013-12-20
      • 2017-05-05
      • 2019-12-03
      • 2011-09-09
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      相关资源
      最近更新 更多