55 lines
1.2 KiB
PHP
55 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* @category Integration
|
||
|
* @package Intaro\RetailCrm\Component\Converter
|
||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||
|
* @license MIT
|
||
|
* @link http://retailcrm.ru
|
||
|
* @see http://retailcrm.ru/docs
|
||
|
*/
|
||
|
|
||
|
namespace Intaro\RetailCrm\Component\Converter;
|
||
|
|
||
|
use Bitrix\Main\Type\DateTime as BitrixDateTime;
|
||
|
|
||
|
/**
|
||
|
* Class DateTimeConverter
|
||
|
*
|
||
|
* @package Intaro\RetailCrm\Component\Converter
|
||
|
*/
|
||
|
class DateTimeConverter
|
||
|
{
|
||
|
/**
|
||
|
* Intermediate format for converting Bitrix DateTime to PHP DateTime
|
||
|
*/
|
||
|
const INTERMEDIATE_FORMAT = 'U';
|
||
|
|
||
|
/**
|
||
|
* Converts Bitrix DateTime to php version
|
||
|
*
|
||
|
* @param \Bitrix\Main\Type\DateTime $dateTime
|
||
|
*
|
||
|
* @return \DateTime
|
||
|
*/
|
||
|
public static function bitrixToPhp(BitrixDateTime $dateTime): \DateTime
|
||
|
{
|
||
|
return \DateTime::createFromFormat(
|
||
|
static::INTERMEDIATE_FORMAT,
|
||
|
$dateTime->format(static::INTERMEDIATE_FORMAT)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Converts PHP DateTime to Bitrix version
|
||
|
*
|
||
|
* @param \DateTime $dateTime
|
||
|
*
|
||
|
* @return \Bitrix\Main\Type\DateTime
|
||
|
*/
|
||
|
public static function phpToBitrix(\DateTime $dateTime): BitrixDateTime
|
||
|
{
|
||
|
return BitrixDateTime::createFromPhp($dateTime);
|
||
|
}
|
||
|
}
|