Besides post-processing results, you can also instruct java.jdbc to return 
Joda dates in the first place.

Using clojure.java.jdbc 0.3.0-alpha4:

(ns example
  (:require [clojure.java.jdbc :as j]
            [clj-time.local :as cl]))
...
(extend-protocol j/IResultSetReadColumn
  java.sql.Date
  (result-set-read-column [date]
    (cl/to-local-date-time date)))

Note that result-set-read-column's signature has changed in master; you'll 
need to update it to [date _ _] in the next release.

Justin

On Friday, July 5, 2013 4:59:54 PM UTC-4, Colin Yates wrote:
>
> Hi all,
>
> I think this is one of those questions which has quite a few answers, but 
> given a map, how do I replace the values by applying a function to those 
> values, but only if they meet a condition?
>
> I understand the building blocks of (map..), (filter..), (assoc-in..) and 
> (filter..) and I can see how something could work using those pieces but is 
> would be pretty verbose.  I am sure there is probably a much more simple 
> way using a more abstract function.
>
> The actual use case is I have a list of maps as returned from the 
> clojure.java.jdbc framework and they contain timestamps.  I want to replace 
> all the timestamps with (for example) to a Joda LocalDate using the 
> excellent clj-time library.
>
> Any pointers?
>
> Thanks!
>
> Col
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to