Я загрузил метки времени в строковом формате с помощью CSV в Neo4j, так как я не знал, как установить их в формате даты и времени с самого начала. Затем я нашел способ использовать функцию «split» в строках, чтобы затем преобразовать ее в целые числа, а затем в datetime, и я получил большую часть работы за исключением мелких проблем
Я пытался разделить бит даты на "-", а время на ":", но я не уверен, как справиться с пробелом между датой и временем, из-за которого мое решение не работает должным образом
MATCH (p:event)
WITH p, [x IN split(p.tstamp, "-") | toInteger(x)] AS parts
WITH p,parts, [y IN split(p.tstamp, ":") | toInteger(y)] AS timeparts
SET p.timestamp = datetime({day: parts[2], month: parts[1], year: parts[0], hour: timeparts[0], minute:timeparts [1], second:timeparts[2]
});
Исходный пример отметки времени:
//original timestamp
09/01/2019 17:34:58.0000
Я ожидал получить, например:
//e.timestamp
09/01/2019 17:34:58
Но я получил:
//e.timestamp
"2019-01-01T00:34:58Z"