Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中定义自己的日期格式?_Php_Date_Calendar - Fatal编程技术网

如何在PHP中定义自己的日期格式?

如何在PHP中定义自己的日期格式?,php,date,calendar,Php,Date,Calendar,请您澄清一下,我如何用PHP定义自己的日期格式 例如,我有一个日期变量 我想把这个日期作为古罗马历法的日期输出。或者采用法国大革命日历的格式。例如,这些日历不是从圣诞节开始的,而是有其他月份的名称 此外,有些日历在7天中没有周,但在另一个天数中有“周” 或采用“年份和季节”格式。例如,“2016年,夏天” 是否可以在PHP日期格式中添加日期格式,并以某种方式对其输出进行编码 您可以定义自己的函数。 我认为大多数人会这样做的方式是创建一个functions.php文件,在其中存储函数和其他自定义函

请您澄清一下,我如何用PHP定义自己的日期格式

例如,我有一个日期变量

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

此外,有些日历在7天中没有周,但在另一个天数中有“周”

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


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

您可以定义自己的函数。 我认为大多数人会这样做的方式是创建一个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函数的资料

问候

亚历克斯

然后只使用
MyDateTime
而不是
DateTime


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

如果可以定义它,就可以编写代码。您的每个示例都需要自己的一组代码。我的意思是:。例如,我可以定义日期格式“RD”,然后编写此代码吗
和“RD”应该作为日期变量的“罗马日期”输出。在PHP中有可能吗?没有,但是
不应该是个问题。有人能告诉我我的答案有什么问题吗?为什么我们必须通过类定义而不仅仅是函数?
class MyDateTime extends DateTime {
      public string format ( $format ) {
             if ($format == "RD") { 
                //Convert to roman date
                return $romanDateFormat;

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

}