Я создаю объекты DateTime, используя метод createFromFormat (). Я не могу найти его указанным, если строки для аргумента формата чувствительны к регистру, где речь идет о нечисловых частях. Мой вопрос по этому поводу — строковые аргументы для 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
Как уже сказал @Marc B.
второй параметр, который является source string
прошло isn't case sensitive
,
первый параметр, который format argument characters
является case sensitive
,
Очень простой пример:
<?php
echo "<pre/>";print_r(DateTime::createFromFormat('M', 'May'));
echo "<pre/>";print_r(DateTime::createFromFormat('A', 'am'));
echo "<pre/>";print_r(DateTime::createFromFormat('M', 'may'));
echo "<pre/>";print_r(DateTime::createFromFormat('A', 'AM'));
?>
<?php
echo "<pre/>";print_r(DateTime::createFromFormat('M', 'May'));
echo "<pre/>";print_r(DateTime::createFromFormat('A', 'am'));
echo "<pre/>";print_r(DateTime::createFromFormat('m', 'may'));
echo "<pre/>";print_r(DateTime::createFromFormat('a', 'AM'));
?>
Выход:- http://prntscr.com/7c9esb
Примечание: — как видите, первые два не имеют разницы, потому что source string
является case in-sensitive
, в то время как третий печатает, а четвертый не печатается, потому что format argument characters
являются case sensitive
,
проверьте это для записи am / pm и как это использовать: —http://php.net/manual/en/function.date.php
Я создаю объекты DateTime, используя метод createFromFormat (). Я не могу найти его указанным, если строки для аргумента формата чувствительны к регистру, где речь идет о нечисловых частях. Мой вопрос по этому поводу — строковые аргументы для 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
Как уже сказал @Marc B.
второй параметр, который является source string
прошло isn't case sensitive
,
первый параметр, который format argument characters
является case sensitive
,
Очень простой пример:
<?php
echo "<pre/>";print_r(DateTime::createFromFormat('M', 'May'));
echo "<pre/>";print_r(DateTime::createFromFormat('A', 'am'));
echo "<pre/>";print_r(DateTime::createFromFormat('M', 'may'));
echo "<pre/>";print_r(DateTime::createFromFormat('A', 'AM'));
?>
<?php
echo "<pre/>";print_r(DateTime::createFromFormat('M', 'May'));
echo "<pre/>";print_r(DateTime::createFromFormat('A', 'am'));
echo "<pre/>";print_r(DateTime::createFromFormat('m', 'may'));
echo "<pre/>";print_r(DateTime::createFromFormat('a', 'AM'));
?>
Выход:- http://prntscr.com/7c9esb
Примечание: — как видите, первые два не имеют разницы, потому что source string
является case in-sensitive
, в то время как третий печатает, а четвертый не печатается, потому что format argument characters
являются case sensitive
,
проверьте это для записи am / pm и как это использовать: —http://php.net/manual/en/function.date.php
a Lowercase Ante meridiem and Post meridiem am or pm
A Uppercase Ante meridiem and Post meridiem AM or PM
см. руководство по PHP для этого Вот