Module: Zena::Use::Dates::TimeMethods
- Defined in:
- lib/zena/use/dates.rb
Instance Method Summary collapse
- #advance_tz(opts, tz = nil) ⇒ Object
- #strftime_tz(format, tz = nil) ⇒ Object
- #to_date_tz(tz = nil) ⇒ Object
- #wday_tz(tz = nil) ⇒ Object
- #year_tz(tz = nil) ⇒ Object
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 |