Skip to content

Commit

Permalink
fix: Нет ведущих нулей в TimeType::toString()
Browse files Browse the repository at this point in the history
Исправлено:
- метод TimeType::toString() не добавлял ведущие нули к часам, минутам и
  секундам.
  • Loading branch information
webarchitect609 committed Jan 19, 2021
1 parent e8dc6fc commit c7f4e72
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 19 deletions.
33 changes: 23 additions & 10 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,52 @@
Change Log
============

0.7.3
-----

### Исправлено

- метод `TimeType::toString()` не добавлял ведущие нули к часам, минутам и секундам.

0.7.2
-----

### Исправлено
- Уточнена проверка на запрос из административной панели в `TimeType::getEntityField()`

- уточнена проверка на запрос из административной панели в `TimeType::getEntityField()`

0.7.1
-----

### Исправлено
- Поле типа `TimeType` не работало в админке из-за внутреннего бага Битрикс, не способного разрешить связку с
`TimeField`

- поле типа `TimeType` не работало в админке из-за внутреннего бага Битрикс, не способного разрешить связку с
`TimeField`

0.7.0
-----

### Добавлено
- Метод `TimeType::parseValue()` для разбора строки в отдельные компоненты времени.
- Метод `TimeType::createValueString()` для соединения отдельных компонентов времени в строку.
- Метод `TimeType::toString()` для возвращения строкового представления данных.
- Связка `TimeType` с типом поля `\WebArch\BitrixOrmTools\Field\TimeField` из
[webarchitect609/bitrix-orm-tools](https://packagist.org/packages/webarchitect609/bitrix-orm-tools).

- метод `TimeType::parseValue()` для разбора строки в отдельные компоненты времени.
- метод `TimeType::createValueString()` для соединения отдельных компонентов времени в строку.
- метод `TimeType::toString()` для возвращения строкового представления данных.
- связка `TimeType` с типом поля `\WebArch\BitrixOrmTools\Field\TimeField` из
[webarchitect609/bitrix-orm-tools](https://packagist.org/packages/webarchitect609/bitrix-orm-tools).

0.6.1
-----

### Добавлено
- Класс `WeekDayISO8601` с константами дней недели по ISO-8601.

- класс `WeekDayISO8601` с константами дней недели по ISO-8601.

0.6.0
-----

Добавлен новый тип "Время(без даты)"
### Добавлено

- добавлен новый тип "Время(без даты)"

0.5.1
-----
Expand Down
16 changes: 7 additions & 9 deletions src/main/TimeType.php
Original file line number Diff line number Diff line change
Expand Up @@ -592,7 +592,7 @@ public static function createValueString(int $hour, int $minute, int $second, bo
* @return string[] [(string)$negative, (string)$hour, (string)$minute, (string)$second] Если время
* отрицательное, то час будет меньше нуля.
*
* TODO Добавить поддержку (float)$second.
* TODO Добавить поддержку (float)$second( т.е. 000:00:00.000 ).
*/
public static function parseValue($rawValue): array
{
Expand Down Expand Up @@ -671,14 +671,12 @@ public static function toString($value): ?string
&& trim($value[self::VALUE_MINUTE]) != ''
&& trim($value[self::VALUE_SECOND]) != ''
) {
/**
* Всеми другими методами должно гарантироваться, что соблюдается строгий порядок следования элементов:
* - negative
* - hour
* - minute
* - second
*/
return array_shift($value) . implode(self::S, $value);
return $value[self::VALUE_NEGATIVE]
. sprintf(self::NUMBER_FORMAT, abs($value[self::VALUE_HOUR]))
. self::S
. sprintf(self::NUMBER_FORMAT, abs($value[self::VALUE_MINUTE]))
. self::S
. sprintf(self::NUMBER_FORMAT, abs($value[self::VALUE_SECOND]));
}

return null;
Expand Down

0 comments on commit c7f4e72

Please sign in to comment.