【问题标题】:How can I define my own date format in PHP?如何在 PHP 中定义自己的日期格式?
【发布时间】:2017-01-10 08:07:39
【问题描述】:

您能否澄清一下,我如何在 PHP 中定义自己的日期格式?

例如,我有一个日期变量。

我想将此日期输出为古罗马日历的日期。或以法国大革命日历的格式。例如,这些日历不是从圣诞节开始的,而是有其他月份的名称。

此外,有些日历没有 7 天的周数,但有其他天数的“周”。

或格式为“年份和季节”。例如,“2016,夏天”。

是否可以在 PHP 日期格式中添加日期格式并以某种方式对其输出进行编码?

【问题讨论】:

  • 如果你能定义它,你就可以编码它。您的每个示例都需要自己的一组代码

标签: php date calendar


【解决方案1】:
class MyDateTime extends DateTime {
      public string format ( $format ) {
             if ($format == "RD") { 
                //Convert to roman date
                return $romanDateFormat;

             }
             return parent::format($format);
      }

}

那就只用MyDateTime而不是DateTime

据我所知,您不能直接为内置的 DateTime 对象添加新格式来处理。

【讨论】:

    【解决方案2】:

    您可以定义自己的函数。 我认为大多数人会这样做的方式是创建一个 functions.php 文件,您可以在其中存储您的函数和其他自定义函数。 然后在要显示罗马日期的文件中包含 functions.php。 然后声明你的函数:

    function translateToRomanCalendar($date = ""){//declare function
    
       $romanDate = "";//declare roman date variable
    
       //Put the translation code here. Using tests and stuff to store 
       //the  roman date  in the romanDate variable
    
       return $romanDate;//return the roman date
    
    }
    

    然后只需在您的 php 文件中调用该函数:例如显示翻译后的当前年份

    <?php echo translateToRomanCalendar(date('Y')) ?>
    

    这将回显函数的返回值($romanDate 的值)。

    现在棘手的是实际函数的代码;你必须测试日期格式和东西。

    无论如何,希望对网络上有大量关于 php 函数的资料有所帮助。

    问候

    亚历克斯

    【讨论】:

    • 不,我的意思是以下。例如,我可以定义日期格式“RD”然后编写此代码吗? &lt;?php echo date('RD'); ?&gt; 并且“RD”应该输出为日期变量的“罗马日期”。 PHP有可能吗?
    • 不,但&lt;php echo myDate('RD'); ?&gt; 应该不是问题
    • 有人能告诉我我的答案有什么问题吗?为什么我们必须通过一个类定义而不仅仅是一个函数?
    猜你喜欢
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2011-12-06
    • 2020-07-08
    • 2021-02-13
    相关资源
    最近更新 更多