mysql - rails where query with dates does not return boundary date data -
mysql - rails where query with dates does not return boundary date data -
i trying retrieve info mysql database using rails. working fine not homecoming info near boundary dates. example
if params[:from] , params[:to] fr = nil; fr = datetime.parse(params[:from]) unless params[:from].empty? = nil = datetime.parse(params[:to]) unless params[:to].empty? if !fr.nil? , !to.nil? puts "------------------" puts fr puts @m = @m.where(start: fr..to) end end @m.size
logs info
app 30303 stdout: ------------------ app 30303 stdout: app 30303 stdout: 2015-04-12t16:26:16+02:00 app 30303 stdout: app 30303 stdout: 2015-04-13t16:26:16+02:00 app 30303 stdout: app 30303 stdout: 0
i sure there info , hr before
268129 | 2015-04-13 15:21:53 | 2015-04-13 15:21:53 |
where first id, sec coulum start date sure date right can see in logs , particular user has info ....i trying extract info lastly 24 hours... suggestion
ok problem code uses time zone while database seems hold datetime object without timezone info, need tell rails take time , assume it's normal utc time, works.
if params[:from] && params[:to] time.use_zone('utc') fr = time.parse params[:from] = time.parse params[:to] end @m = @m.where(start: fr..to) end end @m.size
mysql ruby-on-rails ruby-on-rails-4 activerecord
Comments
Post a Comment