Date.php
772 Bytes
<?php
namespace ACA\JetEngine\Value\Format;
use ACA\JetEngine\Column\Meta;
use ACA\JetEngine\Field;
use ACA\JetEngine\Value\Formatter;
use DateTime;
class Date extends Formatter {
/**
* @var string
*/
private $date_format;
public function __construct( Meta $column, Field\Field $field, $date_format = 'Y-m-d' ) {
parent::__construct( $column, $field );
$this->date_format = $date_format;
}
public function format( $raw_value ): ?string {
if ( ! $raw_value ) {
return $this->column->get_empty_char();
}
$value = $this->field instanceof Field\TimeStamp && $this->field->is_timestamp()
? $raw_value
: DateTime::createFromFormat( $this->date_format, $raw_value )->format( 'U' );
return $this->column->get_formatted_value( $value );
}
}