HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Для работы с датами в PHP есть три пути.</p>
1 <p>Для работы с датами в PHP есть три пути.</p>
2 <ul><li>Использовать обычные функции<a>https://php.net/manual/ru/ref.datetime.php</a></li>
2 <ul><li>Использовать обычные функции<a>https://php.net/manual/ru/ref.datetime.php</a></li>
3 <li>Использовать встроенные классы, например,<a>https://php.net/manual/ru/class.datetimeimmutable.php</a></li>
3 <li>Использовать встроенные классы, например,<a>https://php.net/manual/ru/class.datetimeimmutable.php</a></li>
4 <li>Воспользоваться сторонней библиотекой</li>
4 <li>Воспользоваться сторонней библиотекой</li>
5 </ul><p>Первый вариант подходит только для примитивных расчётов. Не потому, что функции плохи, а потому, что в PHP их мало и ими неудобно пользоваться (интерфейс для машин, а не для людей). Встроенные классы тоже не сильно облегчают задачу. Они работают на низком уровне и простые операции в стиле "получить дату, которая была неделю назад" становятся целым приключением.</p>
5 </ul><p>Первый вариант подходит только для примитивных расчётов. Не потому, что функции плохи, а потому, что в PHP их мало и ими неудобно пользоваться (интерфейс для машин, а не для людей). Встроенные классы тоже не сильно облегчают задачу. Они работают на низком уровне и простые операции в стиле "получить дату, которая была неделю назад" становятся целым приключением.</p>
6 <p>В этом уроке мы рассмотрим третий вариант. Самым популярным сторонним решением для работы с датами в PHP является библиотека<a>Carbon</a>.</p>
6 <p>В этом уроке мы рассмотрим третий вариант. Самым популярным сторонним решением для работы с датами в PHP является библиотека<a>Carbon</a>.</p>
7 <p>В целом принцип работы этой библиотеки совпадает с принципом работы Collect. Создавая объект, мы как бы "оборачиваем" дату, делая её внутренним состоянием объекта. Затем выполняем необходимые операции, используя соответствующие методы. Когда нам снова понадобится дата, то мы сможем её извлечь.</p>
7 <p>В целом принцип работы этой библиотеки совпадает с принципом работы Collect. Создавая объект, мы как бы "оборачиваем" дату, делая её внутренним состоянием объекта. Затем выполняем необходимые операции, используя соответствующие методы. Когда нам снова понадобится дата, то мы сможем её извлечь.</p>
8 <p>Библиотека Carbon обширна и включает в себя невероятно большое количество методов. Мы рассмотрим буквально несколько, а за остальными добро пожаловать в официальную документацию.</p>
8 <p>Библиотека Carbon обширна и включает в себя невероятно большое количество методов. Мы рассмотрим буквально несколько, а за остальными добро пожаловать в официальную документацию.</p>
9 <h3>Определение выходного дня</h3>
9 <h3>Определение выходного дня</h3>
10 <h3>Вывод</h3>
10 <h3>Вывод</h3>
11 <h3>Манипулирование датами</h3>
11 <h3>Манипулирование датами</h3>
12 <h3>Fluent Setters</h3>
12 <h3>Fluent Setters</h3>
13 <p>Carbon предоставляет текучий интерфейс для генерации дат, причём даже несколько видов таких интерфейсов. Его полезность проявляется в местах, где построение дат - динамическое.</p>
13 <p>Carbon предоставляет текучий интерфейс для генерации дат, причём даже несколько видов таких интерфейсов. Его полезность проявляется в местах, где построение дат - динамическое.</p>
14 <h3>Сравнение дат</h3>
14 <h3>Сравнение дат</h3>
15 <p>Отдельного внимания заслуживает сравнение дат, которое учитывает часовые пояса.</p>
15 <p>Отдельного внимания заслуживает сравнение дат, которое учитывает часовые пояса.</p>
16 <p>Код выше можно переписать, используя обычные операции сравнения.</p>
16 <p>Код выше можно переписать, используя обычные операции сравнения.</p>
17  
17