0

我正在使用具有如下格式的时间列的数据集:

    {: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”,但我不确定如何执行此操作。提前感谢您的帮助!

4

1 回答 1

1

除非有任何理由说明时间不是前两个字符,否则你可以这样做

(subs (:time data) 0 2)

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

(let [s (:time data)]
  (subs s 0 (.indexOf s ":")))
于 2013-10-10T09:37:39.597 回答