Ох, какой ад
Feb. 16th, 2012 12:54 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
в Java c датой и временем.
Конкретно, чтобы на Clojure засунуть в jdbc параметр дату, пришлось перерыть весь гугл, исходники jaybird (firebird jdbc драйвера), внутренности joda-time и ее кложурной обертки clj-time
http://www.paullegato.com/blog/clojure-joda-sql-date-time/
(defn to-sql-date [date]
"Convert any Joda-readable date object (including a string) to a java.sql.Date"
(java.sql.Date. (.. (LocalDate. date) toDateMidnight toInstant getMillis)))
Основной затык - только в org.joda.time.LocalDate нормально сделана дата, без времени и временных зон. А jdbc драйвер понимает только java.sql.Date и вроде еще пару вариаций на тему "эпоха в long"
Конкретно, чтобы на Clojure засунуть в jdbc параметр дату, пришлось перерыть весь гугл, исходники jaybird (firebird jdbc драйвера), внутренности joda-time и ее кложурной обертки clj-time
http://www.paullegato.com/blog/clojure-joda-sql-date-time/
(defn to-sql-date [date]
"Convert any Joda-readable date object (including a string) to a java.sql.Date"
(java.sql.Date. (.. (LocalDate. date) toDateMidnight toInstant getMillis)))
Основной затык - только в org.joda.time.LocalDate нормально сделана дата, без времени и временных зон. А jdbc драйвер понимает только java.sql.Date и вроде еще пару вариаций на тему "эпоха в long"
no subject
Date: 2012-02-16 06:21 pm (UTC)И с таймзоной и без таймзоны и отдельно дата без времени и отдельно время без даты.
no subject
Date: 2012-02-16 06:24 pm (UTC)no subject
Date: 2012-02-16 06:33 pm (UTC)И этим вашим Минским контрактам глубоко похер на таймзону. Не пишут в контракте в какой таймзоне он был заключен. Более того, можно сначала продать а потом в конце месяца задним числом подписать бумаги. И никого не колебет какая там была таймзона.
Ваш пример надуман.
no subject
Date: 2012-02-16 06:38 pm (UTC)no subject
Date: 2012-02-16 06:49 pm (UTC)no subject
Date: 2012-02-16 07:19 pm (UTC)no subject
Date: 2012-02-16 07:26 pm (UTC)no subject
Date: 2012-02-16 07:54 pm (UTC)Кроме того со стороны джавы проблема легко решается расширением типа даты.
no subject
Date: 2012-02-16 06:42 pm (UTC)no subject
Date: 2012-02-16 06:50 pm (UTC)no subject
Date: 2012-02-16 07:01 pm (UTC)no subject
Date: 2012-02-16 07:04 pm (UTC)no subject
Date: 2012-02-16 07:22 pm (UTC)no subject
Date: 2012-02-17 05:28 am (UTC)