2

我正在寻找在 OpenRefine 中将日期转换为纪元时间的公式。我知道 GREL 语言不支持这一点,但我想知道 clojure 或 jython 是否支持,如果支持如何?

我根本不熟悉这些语言。

现在我正在使用 API 调用这个服务,但这是一个包含大量数据集的漫长过程。

谢谢

4

5 回答 5

3

为您想要的时间创建一个日期对象(默认为现在),然后在其上调用 .getTime:

user> (.getTime (java.util.Date.))                                         
1361830209902

或者如果您想要特定日期的纪元时间:

user> (import java.text.SimpleDateFormat) 
user> (.getTime (.parse (SimpleDateFormat. "yyyy MM dd HH mm ss") "2013 02 25 04 06 59"))
1361794019000 
于 2013-02-25T22:11:14.487 回答
0

clj-time (JodaTime) 更适合日期时间操作:

(require '[clj-time.core :as cljt])
(require '[clj-time.coerce :as cljc])

(cljc/to-long (cljt/now))
于 2013-02-25T23:19:45.003 回答
0

对于 Python(包括 Jython 实现),您可以使用time模块:

import time
print(time.mktime(time.strptime('2012-02-12 12:34:56', '%Y-%m-%d %H:%M:%S')))
于 2013-02-26T09:23:05.440 回答
0

所以我从OpenRefine 邮件列表中找到了解决方案。我一直在将字符串转换为日期并使用

value.toDate('dd-MM-yy','dd-MMM-yy').toString('dd-MM-yyyy')
于 2013-06-01T20:39:04.277 回答
0

通过对日期列执行转换,将语言设置为 Clojure 并使用以下命令,我在 OpenRefine 中得到了这个工作:

(.getTime value)

与@arthur-ulfeldt 的答案非常相似,但想澄清一下专门针对 OpenRefine 的事情。

于 2014-07-17T18:49:18.070 回答