Skip to content

Instantly share code, notes, and snippets.

Avatar

Richard Wilson Senjai

View GitHub Profile
View keybase.md

Keybase proof

I hereby claim:

  • I am senjai on github.
  • I am senjai (https://keybase.io/senjai) on keybase.
  • I have a public key ASDD8YaWpl8-jKzduqKuVuNcpbY0SOCJNyeujFCJPgrs_Qo

To claim this, I am signing this object:

@Senjai
Senjai / time_vs_datatime.md
Created Jan 9, 2018 — forked from pixeltrix/time_vs_datatime.md
When should you use DateTime and when should you use Time?
View time_vs_datatime.md

When should you use DateTime and when should you use Time?

It's a common misconception that [William Shakespeare][1] and [Miguel de Cervantes][2] died on the same day in history - so much so that UNESCO named April 23 as [World Book Day because of this fact][3]. However because England hadn't yet adopted [Gregorian Calendar Reform][4] (and wouldn't until [1752][5]) their deaths are actually 10 days apart. Since Ruby's Time class implements a [proleptic Gregorian calendar][6] and has no concept of calendar reform then there's no way to express this. This is where DateTime steps in:

>> shakespeare = DateTime.iso8601('1616-04-23', Date::ENGLAND)
=> Tue, 23 Apr 1616 00:00:00 +0000
>> cervantes = DateTime.iso8601('1616-04-23', Date::ITALY)
=> Sat, 23 Apr 1616 00:00:00 +0000