Module: Zena::Use::Dates::TimeMethods

Defined in:
lib/zena/use/dates.rb

Instance Method Summary collapse

Instance Method Details

#advance_tz(opts, tz = nil) ⇒ Object



321
322
323
324
325
326
327
328
329
330
331
332
333
334
# File 'lib/zena/use/dates.rb', line 321

def advance_tz(opts, tz = nil)
  if tz.blank?
    tz = visitor.tz
  elsif tz == 'UTC'
     return self.advance(opts)
  elsif tz.kind_of?(String)
    tz = TZInfo::Timezone.get(tz)
  end
  tz.local_to_utc(tz.utc_to_local(self).advance(opts))
rescue TZInfo::InvalidTimezoneIdentifier
  self
rescue TZInfo::AmbiguousTime
  self
end

#strftime_tz(format, tz = nil) ⇒ Object



291
292
293
294
295
296
297
298
299
300
301
302
303
304
# File 'lib/zena/use/dates.rb', line 291

def strftime_tz(format, tz = nil)
  if tz.blank?
    tz = visitor.tz
  elsif tz == 'UTC'
     return self.strftime(format.to_s)
  elsif tz.kind_of?(String)
    tz = TZInfo::Timezone.get(tz)
  end
  tz.utc_to_local(self).strftime(format.to_s)
rescue TZInfo::InvalidTimezoneIdentifier
  ''
rescue TZInfo::AmbiguousTime
  ''
end

#to_date_tz(tz = nil) ⇒ Object



351
352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'lib/zena/use/dates.rb', line 351

def to_date_tz(tz = nil)
  if tz.blank?
    tz = visitor.tz
  elsif tz == 'UTC'
     return self.to_date
  elsif tz.kind_of?(String)
    tz = TZInfo::Timezone.get(tz)
  end
  tz.utc_to_local(self).to_date
rescue TZInfo::InvalidTimezoneIdentifier
  ''
rescue TZInfo::AmbiguousTime
  ''
end

#wday_tz(tz = nil) ⇒ Object



336
337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'lib/zena/use/dates.rb', line 336

def wday_tz(tz = nil)
  if tz.blank?
    tz = visitor.tz
  elsif tz == 'UTC'
     return self.wday
  elsif tz.kind_of?(String)
    tz = TZInfo::Timezone.get(tz)
  end
  tz.utc_to_local(self).wday
rescue TZInfo::InvalidTimezoneIdentifier
  0
rescue TZInfo::AmbiguousTime
  0
end

#year_tz(tz = nil) ⇒ Object



306
307
308
309
310
311
312
313
314
315
316
317
318
319
# File 'lib/zena/use/dates.rb', line 306

def year_tz(tz = nil)
  if tz.blank?
    tz = visitor.tz
  elsif tz == 'UTC'
     return self.year
  elsif tz.kind_of?(String)
    tz = TZInfo::Timezone.get(tz)
  end
  tz.utc_to_local(self).year
rescue TZInfo::InvalidTimezoneIdentifier
  0
rescue TZInfo::AmbiguousTime
  0
end