What Is Time ?

In [2]:
from IPython.display import HTML
In [16]:
HTML('<iframe src=http://raphaeljs.com/polar-clock.html width=630 height=630></iframe>')
Out[16]:
In [17]:
HTML('<iframe src=http://randomibis.com/coolclock/justclock.html width=340 height=340></iframe>')
Out[17]:
In [4]:
HTML('<iframe src=http://www.uize.com/examples/digital-clock.html width=850 height=600></iframe>')
Out[4]:

Time always ticks and never stops


In computer world, time starts at 12:00am, January 1, 1970 (epoch). Every time interval is a tick or second.

In python world, there are 3 basic modules to track time:

Question: how many ticks are there since epoch?

In [18]:
import time
nticks = time.time()
print "It is now %f ticks (seconds) past epoch" % nticks
It is now 1353713584.312000 ticks (seconds) past epoch

Time is structured as a tuple of 9 pieces

IndexAttributeMeaningValueRange
0tm_year4-digit year20121 - 9999
1tm_monmontd111 - 12
2tm_mdayday of montd231 - 31
3tm_hour24 hour180 - 23
4tm_minminute520 - 59
5tm_secsecond60 - 61 (60 or 61 are leap seconds)
6tm_wdayday of week40 - 6 (0 for Monday)
7tm_ydayday of year3281 - 366 (Julian day)
8tm_isdstdaylight savings0-1, 0, 1 (-1 means library determines DST)
In [6]:
print "Year (Min, Max): (%d, %d)" % (datetime.MINYEAR, datetime.MAXYEAR)
Year (Min, Max): (1, 9999)

In [23]:
localtime = time.localtime(time.time())
print "local time is:\n\t", localtime
local time is:
	time.struct_time(tm_year=2012, tm_mon=11, tm_mday=23, tm_hour=19, tm_min=3, tm_sec=19, tm_wday=4, tm_yday=328, tm_isdst=0)

In [24]:
print "local time is:\n\t", time.asctime(localtime)
local time is:
	Fri Nov 23 19:03:19 2012

In [ ]:
import datetime
In [35]:
# what timezone are you in
print time.tzname
('Eastern Standard Time', 'Eastern Daylight Time')

Time units

In [ ]:
 

The Equation of Time

The equation of time (EOT) is a formula used in the process of converting between solar time and clock time to compensate for the earth's elliptical orbit around the sun and its axial tilt. Essentially, the earth does not move perfectly smoothly in a perfectly circular orbit, so the EOT adjusts for that.
In [22]:
N=np.arange(361)
B=360*(N-81)/365.0 * np.pi/180.0
E=9.87*np.sin(2*B) - 7.53*np.cos(B) - 1.5*np.sin(B)

fig=plt.figure()
ax=fig.add_subplot(111)
ax.grid()
ax.set_xlim(-5,365)
ax.set_ylim(-17,20)
ax.set_xlabel('Day of Year')
ax.set_ylabel('Time Adjustment (min)')
ax.set_title('Equation of Time')
ax.plot(N,E,'ro')
plt.show()
The EOT can be approximated by the following formula:

$$ E = 9.87 sin(2B) - 7.53 cos(B) - 1.5 sin(B) $$

where $ B = \frac{360}{365} (N-81) $   in degree and $N$ is the day of year.

Show me a calendar

In [29]:
import calendar
# set Sunday as 1st column
calendar.setfirstweekday(6)
# show calendar for a month
cal = calendar.month(2012,11)
print cal
   November 2012
Su Mo Tu We Th Fr Sa
             1  2  3
 4  5  6  7  8  9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30


In [32]:
# show calendar for a year
cal2 = calendar.calendar(2012)
print cal2
                                  2012

      January                   February                   March
Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7                1  2  3  4                   1  2  3
 8  9 10 11 12 13 14       5  6  7  8  9 10 11       4  5  6  7  8  9 10
15 16 17 18 19 20 21      12 13 14 15 16 17 18      11 12 13 14 15 16 17
22 23 24 25 26 27 28      19 20 21 22 23 24 25      18 19 20 21 22 23 24
29 30 31                  26 27 28 29               25 26 27 28 29 30 31

       April                      May                       June
Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7             1  2  3  4  5                      1  2
 8  9 10 11 12 13 14       6  7  8  9 10 11 12       3  4  5  6  7  8  9
15 16 17 18 19 20 21      13 14 15 16 17 18 19      10 11 12 13 14 15 16
22 23 24 25 26 27 28      20 21 22 23 24 25 26      17 18 19 20 21 22 23
29 30                     27 28 29 30 31            24 25 26 27 28 29 30

        July                     August                  September
Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
 1  2  3  4  5  6  7                1  2  3  4                         1
 8  9 10 11 12 13 14       5  6  7  8  9 10 11       2  3  4  5  6  7  8
15 16 17 18 19 20 21      12 13 14 15 16 17 18       9 10 11 12 13 14 15
22 23 24 25 26 27 28      19 20 21 22 23 24 25      16 17 18 19 20 21 22
29 30 31                  26 27 28 29 30 31         23 24 25 26 27 28 29
                                                    30

      October                   November                  December
Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa      Su Mo Tu We Th Fr Sa
    1  2  3  4  5  6                   1  2  3                         1
 7  8  9 10 11 12 13       4  5  6  7  8  9 10       2  3  4  5  6  7  8
14 15 16 17 18 19 20      11 12 13 14 15 16 17       9 10 11 12 13 14 15
21 22 23 24 25 26 27      18 19 20 21 22 23 24      16 17 18 19 20 21 22
28 29 30 31               25 26 27 28 29 30         23 24 25 26 27 28 29
                                                    30 31


History of time-keeping

Story of Time by a modern string physicist

In [44]:
from IPython.display import YouTubeVideo
YouTubeVideo('MTx6ha6fRwo')
Out[44]:

watch the rest: Time - a BBC documentary

toggle_in  |  toggle_out