2017-04-18 93 views
0

我有和这里描述的相同的问题:http://www.markhneedham.com/blog/2017/03/06/neo4j-apoc-date-parse-java-lang-illegalargumentexception-illegal-pattern-character-t-java-text-parseexception-unparseable-date-2012-11-12t084615z/如何用neo4j中的apoc以“yyyy-mm-ddTHH:mm:ss”的形式解析日期?

反正有吗?

总之这呼叫

RETURN apoc.date.parse("2016-01-01T15:54:11", 's','yyyy-MM-dd'T'HH:mm:ss') as value2 

给出了错误:

Invalid input 'T': expected whitespace, '.', node labels, '[', "=~", IN, STARTS, ENDS, CONTAINS, IS, '^', '*', '/', '%', '+', '-', '=', "<>", "!=", '<', '>', "<=", ">=", AND, XOR, OR, ',' or ')' (line 1, column 63 (offset: 62)) 

“RETURN apoc.date.parse(” 2016-01-01T15:54:11" , 'S', 'YYYY-MM-dd'T'HH:MM:SS')作为值2"

此呼叫

RETURN apoc.date.parse("2016-01-01 15:54:11", 's','yyyy-MM-ddTHH:mm:ss') as value2 

给出了错误

Failed to invoke function `apoc.date.parse`: Caused by: java.lang.IllegalArgumentException: Illegal pattern character 'T' 

回答

2

的问题是你使用单引号整个字符串,因此你开始引用T,它看起来像你结束字符串,而不是。

为了避免这种情况,使用字符串本身加双引号,单引号括起来的T像这样:

RETURN apoc.date.parse("2016-01-01T15:54:11", 's',"yyyy-MM-dd'T'HH:mm:ss") as value2