Эффективная обработка даты Джалали в Laravel: методы и примеры кода

В этой статье блога мы рассмотрим различные методы эффективной обработки дат Джалали в Laravel. Используя возможности библиотеки Verta, мы рассмотрим различные аспекты, такие как преобразование дат, локализацию и интеграцию с моделями Eloquent от Laravel. Попутно мы предоставим примеры кода для иллюстрации каждого метода.

  1. Установка библиотеки Verta:
    Для начала убедитесь, что в вашем проекте Laravel установлена ​​библиотека Verta. Это можно сделать, добавив в файл composer.jsonследующую строку:
"persianist/verta": "^1.12"

Затем запустите команду composer update, чтобы установить библиотеку.

  1. Инициализация Verta:
    Для работы с датами Джалали необходимо инициализировать экземпляр Verta. Вот пример:
use Verta\Verta;
$date = new Verta();
  1. Преобразование дат по григорианскому календарю в даты Джалали.
    Чтобы преобразовать дату по григорианскому календарю в дату Джалали, используйте метод formatJalali. Вот пример:
$gregorianDate = '2022-06-15';
$jalaliDate = Verta::parse($gregorianDate)->formatJalali();
echo $jalaliDate; // Output: 1401-03-25
  1. Преобразование дат Джалали в григорианский:
    Чтобы преобразовать дату Джалали в григорианскую дату, используйте метод formatGregorian. Вот пример:
$jalaliDate = '1401-03-25';
$gregorianDate = Verta::parse($jalaliDate)->formatGregorian();
echo $gregorianDate; // Output: 2022-06-15
  1. Локализация:
    Чтобы локализовать даты Джалали, вы можете установить желаемую локаль с помощью метода setLocale. Вот пример:
Verta::setLocale('fa');
$date = new Verta();
echo $date->format('l j F Y'); // Output: پنج‌شنبه ۲۵ خرداد ۱۴۰۱
  1. Интеграция с моделями Eloquent Laravel.
    Чтобы хранить и получать даты Джалали с помощью моделей Eloquent Laravel, вы можете переопределить методы asDateTimeи fromDateTime. Вот пример:
use Illuminate\Database\Eloquent\Model;
use Verta\Verta;
class MyModel extends Model
{
    protected function asDateTime($value)
    {
        return (new Verta($value))->format('Y-m-d H:i:s');
    }
    protected function fromDateTime($value)
    {
        return Verta::parse($value)->formatGregorian();
    }
}

Обработка дат Джалали в Laravel становится проще с библиотекой Verta. Мы изучили различные методы, включая преобразование дат, локализацию и интеграцию с моделями Eloquent от Laravel. Следуя этим примерам, вы сможете эффективно работать с датами Джалали в своих приложениях Laravel.

Не забудьте использовать возможности Verta, чтобы упростить операции, связанные с датами, и обеспечить удобство работы для персидскоязычных пользователей.