Php 解释IntlDateFormatter'的一些参数;s构造函数

Php 解释IntlDateFormatter'的一些参数;s构造函数,php,datetime,internationalization,date-format,Php,Datetime,Internationalization,Date Format,我试图改变我们在应用程序中格式化日期的方式(我们使用了strftime,strotime,等等),以使用更为最新的IntlDateFormatter。我知道,但我不能真正理解所有构造函数的参数。有人能给我解释一下吗?这就是我现在的看法: locale:我得到一个:用于输出月名、日名等的locale datetype:我真的不明白它的用途。是输入格式吗?为什么它只限于几个常数?医生说“要使用的日期类型”他们所说的日期类型是什么意思 timetype:这一个相同,是什么?为什么它只限于几个常数?医

我试图改变我们在应用程序中格式化日期的方式(我们使用了
strftime
strotime
,等等),以使用更为最新的
IntlDateFormatter
。我知道,但我不能真正理解所有构造函数的参数。有人能给我解释一下吗?这就是我现在的看法:

  • locale
    :我得到一个:用于输出月名、日名等的locale
  • datetype
    :我真的不明白它的用途。是输入格式吗?为什么它只限于几个常数?医生说“要使用的日期类型”他们所说的日期类型是什么意思
  • timetype
    :这一个相同,是什么?为什么它只限于几个常数?医生说“要使用的时间类型”
  • 时区
    :我知道了,要使用的时区
  • 日历
    :我得到了这个:日历的类型,大部分时间是公历
  • 模式
    :实际模式我想格式化我的日期

因此,我不太明白它的用途是什么。这些标志指定了要输出多少关于日期/时间的信息。与您在问题中所链接的内容相比,该选项提供了更多的见解


因此,基本上,如果
datetype
设置为
IntlDateFormatter::LONG
,输出应该是
1952年1月12日
,或者如果设置为
IntlDateFormatter::MEDIUM
,那么输出应该是
1952年1月12日
,对不起,我不认为是这样。如果我将
datetype
设置为
IntlDateFormatter::SHORT
,但将我的模式设置为
cccc MMMM d y
,它将输出:2014年1月26日星期日,因此它似乎对输出没有影响。@MaxiWheat该模式将覆盖
datetype
timetype
设置。如果删除模式,它将按预期工作。如果您的模式是您希望格式化时间戳的方式,那么就不要使用
datetype
timetype
设置。谢谢,如果没有指定模式,这些参数显然不是“默认格式”。@MaxiWheat我完全知道您的感受。我不止一次发现自己在修改代码,以了解PHP将如何做一些事情。很高兴这帮了你的忙。