Измените формат даты, чтобы найти разницу во времени в Neo4j 3.2.5

Я работаю над кодом в Neo4j и хочу узнать разницу между двумя столбцами времени. Дата и время в формате 20130508 19:14:56.913. Я также пытался использовать функцию APOC, но получаю сообщение об ошибке, что это неизвестная функция. Может ли кто-нибудь помочь мне в этом.


person Shefali    schedule 09.10.2017    source источник


Ответы (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
comment
Я пробовал это, я получил эту ошибку: Неизвестная функция 'apoc.date.parse' - person Shefali; 09.10.2017
comment
@Shefali, значит, у вас проблема с установкой APOC. - person Bruno Peres; 09.10.2017
comment
Как установить APOC? - person Shefali; 09.10.2017
comment
@Shefali вы можете найти инструкции по установке по этой ссылке. По сути, вам нужно загрузить файл jar и поместить его в каталог Neo4j /plugins. Не забудьте установить процедуры APOC в соответствии с версией Neo4j, которую вы используете. Посмотрите матрицу совместимости версий по ссылке. - person Bruno Peres; 09.10.2017