Files
oficial/app/src/Service/Format.php
2025-03-11 17:41:11 -03:00

37 lines
1.1 KiB
PHP

<?php
namespace Incoviba\Service;
use DateTimeImmutable;
use IntlDateFormatter;
class Format
{
public function localDate(string $valor, ?string $format = null, bool $print = false): string
{
$date = new DateTimeImmutable($valor);
$formatter = new IntlDateFormatter('es_ES');
if ($format == null) {
$format = "dd 'de' MMMM 'de' YYYY";
}
$formatter->setPattern($format);
return $formatter->format($date);
}
public function number(float|string $number, int $decimal_places = 0): string
{
return number_format($number, $decimal_places, ',', '.');
}
public function percent(float|string $number, int $decimal_places = 2, bool $multiply = false): string
{
return "{$this->number(($multiply) ? $number * 100 : $number, $decimal_places)}%";
}
public function pesos(string $valor, int $decimal_places = 0): string
{
return "$ {$this->number($valor, $decimal_places)}";
}
public function ufs(string $valor, int $decimal_places = 2): string
{
return "{$this->number($valor, $decimal_places)} UF";
}
}