Укажите только время в поле DateTime (ISO-8601) в Hyperledger - PullRequest
0 голосов
/ 25 октября 2018

Я работаю на Hyperledger Composer Playground и хочу указать только время в DateTime поле, пропуская дату полностью.Но всякий раз, когда я пытаюсь создать актив, каждый раз я получаю ошибку RangeError: Invalid time value.

Я пытался присвоить значение по умолчанию переменной в файле модели в некоторых разновидностях следующего примера, но тоже не работает.

o DateTime dispatchTime default = "T06:18:42.716Z"

Я должен отсутствоватьЧто-то очевидное в этом, так как это стандартный формат ISO-8601, но не удалось найти точного решения, чтобы заставить его работать конкретно в Hyperledger Composer.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 25 октября 2018

Вы получаете invalid time ошибку, потому что вы не можете сохранить только время в вашей переменной dispatchTime, так как это формат даты и времени ISO-8601 .Вы можете проверить это

Но также, если вы хотите сохранить только время, вы можете преобразовать его в одну из функций процессора транзакций в вашем файле logic.js следующим образом:

tx.assetObject.dispatchTime = new Date (). ToISOString (). Split (/ T /) [1];

Надеюсь, это поможет!

0 голосов
/ 25 октября 2018

Нет, вы не можете сохранить только время в переменной DateTime.

Как описано в документации, он будет принимать только экземпляр времени, совместимый с ISO-8601, с дополнительным часовым поясом и смещением UTZ .

Вы можете вручную преобразовать его в только формат времени во время ответа.

Для получения дополнительной информации о типах примитивов Hyperledger, ознакомьтесь сссылка ниже:

https://hyperledger.github.io/composer/latest/reference/cto_language

...