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);
}
}