Преобразование длинных значений (эпох) в формат даты с использованием запроса gremlin - PullRequest
0 голосов
/ 24 октября 2018

У меня есть дата создания вершины в длинном формате (эпоха).Я хочу преобразовать длинное значение в определенный формат даты (ГГГГ-ММ или ГГГГ-ММ-ДД) с помощью запроса gremlin..map или .transform не работает.Может кто-нибудь, пожалуйста, помогите.

1 Ответ

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

В языке Gremlin нет встроенных функций для преобразования дат.Вам бы пришлось использовать лямбду, если вы хотите сделать это в Gremlin - для Groovy это будет выглядеть так:

gremlin> g = TinkerGraph.open().traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV('person').property('dob',Date.parse('yyyy-MM-dd','2018-10-01').getTime())
==>v[0]
gremlin> g.V().valueMap()
==>[dob:[1538366400000]]
gremlin> g.V().values('dob').map{new Date(it.get()).format('yyyy-MM-dd')}
==>2018-10-01

Вы можете написать то же самое на Java, пропустив сокращенные сокращения Groovy и просто используя SimpleDateTime в лямбде.Конечно, TinkerPop советует не использовать лямбды, и в этом случае я думаю, что лучшим решением будет просто вернуть ваш результат как Long, а затем преобразовать его на клиенте по мере необходимости.

...