rJava 解析日期字符串,找不到方法
rJava parse date string, method not found
在 R 3.3.3 中,在 Linux (RHEL 6.9) 上使用包 rJava(版本 0.9-9),运行,我遇到错误 运行 下面一段代码从 R 字符串创建 Java 日期:
library(rJava)
rDateString <- "2016-01-01 10:00:00"
.jinit()
df <- .jnew("java/text/SimpleDateFormat", "yyyy-MM-dd HH:mm:ss")
pp <- .jnew("java/text/ParsePosition", as.integer(0))
d <- .jcall(df, "Ljava/util/Date", "parse", rDateString, pp)
这会产生以下错误:
Error in .jcall(df, "Ljava/util/Date", "parse", rDateString, pp) :
method parse with signature (Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date not found
这让我很困惑,因为这个方法应该是可用的。在我的 SimpleDateFormat 对象上调用 .jmethods
,导致 (snip):
> .jmethods(df)
[5] "public java.util.Date java.text.SimpleDateFormat.parse(java.lang.String,java.text.ParsePosition)"
因此,据我所知,我遵守了 parse
方法签名,但仍然存在错误。谁能阐明我在这里缺少的东西?非常感激。
缺少分号(Ljava/util/Date
=> Ljava/util/Date;
):
d <- .jcall(df, "Ljava/util/Date;", "parse", rDateString, pp)
d
[1] "Java-Object{Fri Jan 01 10:00:00 CET 2016}"
在 R 3.3.3 中,在 Linux (RHEL 6.9) 上使用包 rJava(版本 0.9-9),运行,我遇到错误 运行 下面一段代码从 R 字符串创建 Java 日期:
library(rJava)
rDateString <- "2016-01-01 10:00:00"
.jinit()
df <- .jnew("java/text/SimpleDateFormat", "yyyy-MM-dd HH:mm:ss")
pp <- .jnew("java/text/ParsePosition", as.integer(0))
d <- .jcall(df, "Ljava/util/Date", "parse", rDateString, pp)
这会产生以下错误:
Error in .jcall(df, "Ljava/util/Date", "parse", rDateString, pp) :
method parse with signature (Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date not found
这让我很困惑,因为这个方法应该是可用的。在我的 SimpleDateFormat 对象上调用 .jmethods
,导致 (snip):
> .jmethods(df)
[5] "public java.util.Date java.text.SimpleDateFormat.parse(java.lang.String,java.text.ParsePosition)"
因此,据我所知,我遵守了 parse
方法签名,但仍然存在错误。谁能阐明我在这里缺少的东西?非常感激。
缺少分号(Ljava/util/Date
=> Ljava/util/Date;
):
d <- .jcall(df, "Ljava/util/Date;", "parse", rDateString, pp)
d
[1] "Java-Object{Fri Jan 01 10:00:00 CET 2016}"