Gremlin - 如何将字符串转换为日期?

Gremlin - how to convert a string to a date?

对于给定的 属性,我正在尝试将日期的 String 表示形式转换为实际类型 Date.字符串表示遵循日期格式:yyyy-MM-dd HH:mm:ss.

例如:

g.V(1).outE().values('date') returns 以下三个 Strings (每边一个):

==>2019-05-02 00:00:00
==>2019-05-22 00:00:00
==>2019-05-06 00:00:00

我试过改编 and here 的解决方案,但没有成功。例如。以下代码会引发错误。

g.V(1).outE().values('date').map{new Date(it.get()).format('yyyy-MM-dd HH:mm:ss')}

Gremlin 没有明确的类型转换函数,因此您进行的任何形式的转换都需要某种形式的特定于您正在使用的编程语言环境的代码。看来您正在工作 Java 所以使用 SimpleDateFormat:

gremlin> g.addV('person').property('dtob','2018-10-01 12:01:02')
==>v[0]
gremlin> format = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
==>java.text.SimpleDateFormat@4f76f1a0
gremlin> g.V().values('dtob').map{format.parse(it.get())}
==>Mon Oct 01 12:01:02 EDT 2018

请注意,您在此处使用 lambda 进行此转换,这会稍微降低 Gremlin 的可移植性(并非所有图表都支持)。