metaclass: (Default)
[personal profile] metaclass
в 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"

Date: 2012-02-16 07:19 pm (UTC)
From: [identity profile] sergiej.livejournal.com
Вы что, издеваетесь? В этом и проблема что сколько бы правильно база дату не записывала, в жабе Дата это будет полночь ЛОКАЛЬНОГО времени. То есть получая вашу дату из базы жабовскому приложению нужно гадать для какого же пояса дату создавать.

Date: 2012-02-16 07:26 pm (UTC)
From: [identity profile] slonopotamus.livejournal.com
Это кривизна жабской Даты, а вовсе не sql'я.

Date: 2012-02-16 07:54 pm (UTC)
From: [identity profile] sergiej.livejournal.com
У жабы проблема это факт, но у жабы и отмазка простая - в отсутствиии единого стандарта получается кривой java.sql.Date, который не знает что "с той стороны" за дата имеется в виду.
Кроме того со стороны джавы проблема легко решается расширением типа даты.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 28th, 2025 09:22 pm
Powered by Dreamwidth Studios