Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails不正确的日期查询_Ruby On Rails_Date_Timezone - Fatal编程技术网

Ruby on rails Rails不正确的日期查询

Ruby on rails Rails不正确的日期查询,ruby-on-rails,date,timezone,Ruby On Rails,Date,Timezone,我对ActiveRecord查询有问题。我想它与时区有关。 这就是一个例子 date_start = Date.parse(params[:filter][:date_start]).beginning_of_day date_end = Date.parse(params[:filter][:date_start]).end_of_day data = MyModel.where("created_at>=? and created_at <=?", date_start, dat

我对ActiveRecord查询有问题。我想它与时区有关。 这就是一个例子

date_start = Date.parse(params[:filter][:date_start]).beginning_of_day
date_end = Date.parse(params[:filter][:date_start]).end_of_day
data = MyModel.where("created_at>=? and created_at <=?", date_start, date_end)
date\u start=date.parse(参数[:filter][:date\u start])。开始日期
date\u end=date.parse(参数[:filter][:date\u start])。结束日期

data=MyModel。其中(“created_at>=”和created_at有两种使用时区的方法

Time.zone.now
Time.now

不要使用
Date.parse
而使用
Time.zone.parse
。以下是获取时区日期的更多详细信息。对于不同的日期,可以找到不同的值

date\u start=Time.zone.parse(params[:filter][:date\u start])。开始日期
date\u end=Time.zone.parse(参数[:filter][:date\u start])。结束日期

data=MyModel.where(“在beween创建?和?”,date\u start,date\u end)

使用时区有两种方法

Time.zone.now
Time.now

不要使用
Date.parse
而使用
Time.zone.parse
。以下是获取时区日期的更多详细信息。对于不同的日期,可以找到不同的值

date\u start=Time.zone.parse(params[:filter][:date\u start])。开始日期
date\u end=Time.zone.parse(参数[:filter][:date\u start])。结束日期

data=MyModel.where(“在beween创建?和?”,date\u start,date\u end)

首先更改日期格式…它应该类似于date.parse(“16.07.10”)#yymmd=>Sun,2016年7月10日,但Date.parse解析我的日期是否正确。我为什么要更改它?好的,您的问题在查询级别。首先更改日期格式…它应该类似于Date.parse(“16.07.10”)#yymmd=>Sun,2016年7月10日,但Date.parse解析我的日期是否正确。我为什么要更改它?好的,您的问题在查询级别。。