PHP日期时间参数中的大小写敏感度

PHP日期时间参数中的大小写敏感度,php,datetime,case-sensitive,Php,Datetime,Case Sensitive,我正在使用createFromFormat()方法创建DateTime对象。如果format参数的字符串是区分大小写的,我找不到指定的,因为它涉及到非数字部分。我的问题是关于这个问题-DateTime::createFromFormat的字符串参数是否区分大小写 例如 这是: DateTime::createFromFormat('M', 'May'); DateTime::createFromFormat('A', 'am'); 相当于: DateTime::createFromFormat

我正在使用createFromFormat()方法创建DateTime对象。如果format参数的字符串是区分大小写的,我找不到指定的,因为它涉及到非数字部分。我的问题是关于这个问题-DateTime::createFromFormat的字符串参数是否区分大小写

例如

这是:

DateTime::createFromFormat('M', 'May');
DateTime::createFromFormat('A', 'am');
相当于:

DateTime::createFromFormat('M', 'may');
DateTime::createFromFormat('A', 'AM');
@编辑:


我想我应该弄清楚这个问题的目的。文件中没有明确规定规则。测试是显而易见的事情,但没有显示系统/版本等之间的一致性,如果没有指定,这是有问题的。我想问的是,我是否遗漏了任何可以证明PHP在这里是如何工作的东西。谢谢大家抽出时间。

是的,它不区分大小写

$a = DateTime::createFromFormat('M', 'May');
$b = DateTime::createFromFormat('M', 'may');

var_dump($a == $b); //True

请参阅PHP手册了解此信息

源字符串不区分大小写,但格式参数字符区分大小写。您自己就不能尝试一下吗?它并不完全是一个复杂的脚本it@MarcB我在询问源字符串的情况,(at)MarkBaker:是的,但我对规范感兴趣,而不是对经验效应。你没有看到源字符串不区分大小写吗?@MarcB我从来没有说过我没有。没有,是Am/Pm吗?这是否意味着这个问题没有一般的答案?这意味着要格式化大写或小写的
AM/PM或
AM/PM
仅使用一个字符是PHP的转换器,它应该完成其余的工作。PHP文档中明确说明了该规则
  a     Lowercase Ante meridiem and Post meridiem   am or pm
  A     Uppercase Ante meridiem and Post meridiem   AM or PM