fn: current-dateTime () не возвращает миллисекунды - PullRequest
1 голос
/ 24 апреля 2019

Я использую функцию fn: current-dateTime () для получения системной даты и времени.Это дает формат даты как 2019-04-24T10: 09: 20.633 + 03: 00.Но иногда это не возвращает миллисекунды и дает как - 2019-01-31T09: 54: 33 + 02: 00

нам также нужна часть миллисекунд, пожалуйста, дайте нам знать, почему это происходит и как преодолеть эту проблему.

{fn: current-dateTime ()}

Ответы [ 2 ]

2 голосов
/ 24 апреля 2019

Ваша проблема в том, что дата / время недостаточно точны для ваших нужд, или проблема в том, что строковое представление не включает доли секунды?

Если проблема заключается в точности, возможно, вы используете неправильную функцию, потому что current-dateTime () возвращает одно и то же значение во время выполнения запроса, и система не обязана возвращать очень точное значение.

Если проблема заключается в форматировании строкового представления (т.е. вы были бы рады, если бы в конце было добавлено «.000»), то (а) ваши ожидания спецификации неверны, и (б) вы можно получить то, что вы хотите, используя секунды от даты ().

2 голосов
/ 24 апреля 2019

Используемому движку XQuery разрешено не предоставлять миллисекунды, когда они равны нулю.

Если вы всегда хотите их, вам следует вызвать format-dateTime ().

...