HEX
Server: LiteSpeed
System: Linux premium260.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: aliazzsr (627)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: /home/aliazzsr/api.crm.vqode.com/components/formatters/DateFormatter.php
<?php
namespace app\components\formatters;

use yii\base\BaseObject;

class DateFormatter extends BaseObject
{
    const DATE_INTERNAL_FORMAT = 'Y-m-d H:i:s';
    const DATE_UI_FORMAT = 'd/m/Y';
    const DATETIME_UI_FORMAT = 'd/m/Y H:i:s';

    public static function toString($value)
    {
        $date = \DateTime::createFromFormat(static::DATE_INTERNAL_FORMAT, $value);
        if (false === $date) {
            return $value;
        }

        return \Yii::$app->formatter->asDate($date, 'php:' . static::DATE_UI_FORMAT);
    }

    public static function toStringWithTime($value)
    {
        $date = \DateTime::createFromFormat(static::DATE_INTERNAL_FORMAT, $value);
        if (false === $date) {
            return $value;
        }

        return \Yii::$app->formatter->asDate($date, 'php:' . static::DATETIME_UI_FORMAT);
    }

    public static function toMysql($value)
    {
        $date = \DateTime::createFromFormat(static::DATE_UI_FORMAT, $value);
        if (false === $date) {
            return $value;
        }

        $date->setTime(0, 0);

        return \Yii::$app->formatter->asDate($date, 'php:' . static::DATE_INTERNAL_FORMAT);
    }

    public static function toMysqlWithTime($value)
    {
        $date = \DateTime::createFromFormat(static::DATETIME_UI_FORMAT, $value);
        if (false === $date) {
            return $value;
        }

        return \Yii::$app->formatter->asDate($date, 'php:' . static::DATE_INTERNAL_FORMAT);
    }
}