Я работаю над кодом в Neo4j и хочу узнать разницу между двумя столбцами времени. Дата и время в формате 20130508 19:14:56.913
. Я также пытался использовать функцию APOC, но получаю сообщение об ошибке, что это неизвестная функция. Может ли кто-нибудь помочь мне в этом.
Измените формат даты, чтобы найти разницу во времени в Neo4j 3.2.5
Ответы (1)
Я думаю, вы можете использовать функцию APOC apoc.date.parse
. Сигнатура функции:
apoc.date.parse(date, targetTimeUnit, format)
date
должна быть строкой, представляющей дату, которую вы конвертируете в указанное targetTimeUnit
(в примере ms
для целевых миллисекунд). date
должно быть в указанном format
, указанном третьим параметром.
Взгляните на этот пример:
WITH apoc.date.parse('20130508 19:14:56.913','ms','yyyyMMdd HH:mm:ss.ms') AS initialTime,
apoc.date.parse('20130508 20:14:56.913','ms','yyyyMMdd HH:mm:ss.ms') AS finalTime
RETURN finalTime - initialTime as difference
Вывод будет:
╒════════════╕
│"difference"│
╞════════════╡
│3600000 │
└────────────┘
То есть: разница в 3600000 миллисекунд между двумя датами.
person
Bruno Peres
schedule
09.10.2017
Я пробовал это, я получил эту ошибку: Неизвестная функция 'apoc.date.parse'
- person Shefali; 09.10.2017
@Shefali, значит, у вас проблема с установкой APOC.
- person Bruno Peres; 09.10.2017
Как установить APOC?
- person Shefali; 09.10.2017
@Shefali вы можете найти инструкции по установке по этой ссылке. По сути, вам нужно загрузить файл jar и поместить его в каталог Neo4j
/plugins
. Не забудьте установить процедуры APOC в соответствии с версией Neo4j, которую вы используете. Посмотрите матрицу совместимости версий по ссылке.
- person Bruno Peres; 09.10.2017