Чувствительность к регистру в аргументах PHP DateTime

Я создаю объекты DateTime, используя метод createFromFormat (). Я не могу найти его указанным, если строки для аргумента формата чувствительны к регистру, где речь идет о нечисловых частях. Мой вопрос по этому поводу — строковые аргументы для DateTime :: createFromFormat чувствительны к регистру?

Например.

Это:

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

эквивалентно этому:

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

@Редактировать:

Я вижу, что должен выяснить цель вопроса. Правила не четко указано в документации. Тесты очевидны, но не показывают соответствия между системами / версиями и т. Д., Что сомнительно, если не указано иное. Я спрашиваю, опустил ли я что-нибудь, что может доказать, как работает PHP здесь. Спасибо всем за ваше время.

-1

Решение

Да, это без учета регистра.

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

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

Другие решения

Как уже сказал @Marc B.

  1. второй параметр, который является source string прошло isn't case sensitive,

  2. первый параметр, который 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

2

Я создаю объекты DateTime, используя метод createFromFormat (). Я не могу найти его указанным, если строки для аргумента формата чувствительны к регистру, где речь идет о нечисловых частях. Мой вопрос по этому поводу — строковые аргументы для DateTime :: createFromFormat чувствительны к регистру?

Например.

Это:

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

эквивалентно этому:

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

@Редактировать:

Я вижу, что должен выяснить цель вопроса. Правила не четко указано в документации. Тесты очевидны, но не показывают соответствия между системами / версиями и т. Д., Что сомнительно, если не указано иное. Я спрашиваю, опустил ли я что-нибудь, что может доказать, как работает PHP здесь. Спасибо всем за ваше время.

-1

Да, это без учета регистра.

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

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

Как уже сказал @Marc B.

  1. второй параметр, который является source string прошло isn't case sensitive,

  2. первый параметр, который 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

active «data-shortcut =» A
  a     Lowercase Ante meridiem and Post meridiem   am or pm
A     Uppercase Ante meridiem and Post meridiem   AM or PM

см. руководство по PHP для этого Вот

самый старый «data-shortcut =» O
голосует «data-shortcut =» V
1