@@ -177,6 +177,7 @@ def sql_conditions(opts)
177
177
sql << "#{ timestamp_field } < :until"
178
178
esc_values [ :until ] = parse_to_local ( opts [ :until ] ) { |t | t + 1 }
179
179
end
180
+
180
181
return [ sql . join ( " AND " ) , esc_values ]
181
182
end
182
183
@@ -190,22 +191,26 @@ def parse_to_local(time)
190
191
if time [ -1 ] == "Z"
191
192
time_obj = Time . strptime ( time , "%Y-%m-%dT%H:%M:%S%Z" )
192
193
else
193
- time_obj = Time . strptime ( time , "%Y-%m-%d" )
194
+ time_obj = Date . strptime ( time , "%Y-%m-%d" )
194
195
end
195
196
rescue
196
197
raise OAI ::ArgumentException . new , "unparsable date: '#{ time } '"
197
198
end
198
199
end
199
200
200
201
time_obj = yield ( time_obj ) if block_given?
201
- # Convert to same as DB - :local => :getlocal, :utc => :getutc
202
202
203
- if ActiveRecord :: VERSION :: MAJOR >= 7
204
- tzconv = "get #{ ActiveRecord . default_timezone . to_s } " . to_sym
203
+ if time_obj . kind_of? ( Date )
204
+ time_obj . strftime ( "%Y-%m-%d" )
205
205
else
206
- tzconv = "get#{ model . default_timezone . to_s } " . to_sym
206
+ # Convert to same as DB - :local => :getlocal, :utc => :getutc
207
+ if ActiveRecord ::VERSION ::MAJOR >= 7
208
+ tzconv = "get#{ ActiveRecord . default_timezone . to_s } " . to_sym
209
+ else
210
+ tzconv = "get#{ model . default_timezone . to_s } " . to_sym
211
+ end
212
+ time_obj . send ( tzconv ) . strftime ( "%Y-%m-%d %H:%M:%S" )
207
213
end
208
- time_obj . send ( tzconv ) . strftime ( "%Y-%m-%d %H:%M:%S" )
209
214
end
210
215
211
216
end
0 commit comments