Clojure - 拆分时间字符串以查找不同的小时数

时间:2013-10-10 09:10:46

标签: clojure split

我正在使用一个数据集,其时间列的格式如下:

    {:time "00:00:00"}
    {:time "03:05:12"}
    {:time "09:45:14"}
    {:time "13:01:22"}
    {:time "19:29:31"}

我已经运行了一个SQL查询来查找这些时间,虽然我需要能够找到不同的小时,可能是通过拆分字符串。我试过了:

    t(get (split (:time data)  #":") 0)

但它会返回数据库中的所有数据,除了我想要的东西 - 我试图在第一个之后分割时间:并且只是明确地保留分割的第一个元素。

理想情况下,我只想要返回的时间如'00''03''09''13''19',但我不确定如何做到这一点。在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

除非有任何理由说明为什么时间比前两个字符更重要,你可以做到

(subs (:time data) 0 2)

如果您确实需要在第一个:之前的所有字符并且并非总是在同一位置,您仍然可以使用subs,但与.indexOf结合使用:

(let [s (:time data)]
  (subs s 0 (.indexOf s ":")))