Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can using Chronic impair your sense of time?

Haha..

I'm using Chronic to parse the time users add in the Calendar. Where the code works and implements the right time, the end result is that, IF a user adds a time, then it has no date, and because it has no date, it will not show in results. Any ideas?

def set_dates   unless self.natural_date.blank? || Chronic.parse(self.natural_date).blank?     # check if we are dealing with a date or a date + time     if time_provided?(self.natural_date)       self.date = nil       self.time = Chronic.parse(self.natural_date)     else       self.date = Chronic.parse(self.natural_date).to_date       self.time = nil     end   end    unless self.natural_end_date.blank? || Chronic.parse(self.natural_end_date).blank?     # check if we are dealing with a date or a date + time     if time_provided?(self.natural_end_date)       self.end_date = nil       self.end_time = Chronic.parse(self.natural_end_date)     else       self.end_date = Chronic.parse(self.natural_end_date).to_date       self.end_time = nil     end   end end 

Edit:

Here is the time_provided? method:

def time_provided?(natural_date_string)   date_span = Chronic.parse(natural_date_string, :guess => false)   (date_span.last - date_span.first).to_i == 1 end 
like image 850
Trip Avatar asked May 12 '10 18:05

Trip


People also ask

What causes loss of sense of time?

Dyschronometria is a condition of cerebellar dysfunction in which an individual cannot accurately estimate the amount of time that has passed (i.e., distorted time perception). It is associated with cerebellar ataxia, when the cerebellum has been damaged and does not function to its fullest ability.

Can Drugs change your perception of time?

Drugs alter perceived time by affecting the speed of our internal clock and the amount of attention that we pay to time. Whilst such time-altering effects are generally perceived as pleasant and harmless, there is some evidence to suggest that the effects may be long-lasting.

What controls your sense of time?

Dorsolateral prefrontal right cortex is considered as the region most involved in time perception.

Why is my perception of time messed up?

This distorted sense of time may be caused, in part, by brain cells getting tired, according to a new study. When the brain has been exposed to the same exact time interval too many times, neurons or brain cells get overstimulated and fire less often, the study finds.


1 Answers

First, I'm not really sure what are you asking about, because it looks like the code intentionally does what you describe... When there's time provided, the date fields are assigned nil. And I don't think that is Chronic is to blame because that's how your code works.

Not knowing your design (why there are separate date & time fields), the types of fields etc., I would suggest starting with a little kludge like this:

if time_provided?(self.natural_date)   self.time = Chronic.parse(self.natural_date)   self.date = self.time.to_date 

or:

self.end_date = Chronic.parse(self.natural_date).to_date if time_provided?(self.natural_date)   self.time = Chronic.parse(self.natural_date) end 

Or maybe the problem is outside the code you provided: in the part that is responsible for the "because it has no date, it will not show in results" behavior? Maybe you should make the conditions more flexible?

like image 163
szeryf Avatar answered Nov 07 '22 16:11

szeryf