Skip to content

Instantly share code, notes, and snippets.

@wgong
Created November 24, 2012 03:49
Show Gist options
  • Save wgong/4138271 to your computer and use it in GitHub Desktop.
Save wgong/4138271 to your computer and use it in GitHub Desktop.
IPython_Notebook_What_Is_Time
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "what-is-time"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"<font color=blue>What</font> <font color=green> Is </font> <font color=red> Time ?</font>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.display import HTML"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"HTML('<iframe src=http://raphaeljs.com/polar-clock.html width=630 height=630></iframe>')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<iframe src=http://raphaeljs.com/polar-clock.html width=630 height=630></iframe>"
],
"output_type": "pyout",
"prompt_number": 16,
"text": [
"<IPython.core.display.HTML at 0x4506710>"
]
}
],
"prompt_number": 16
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"HTML('<iframe src=http://randomibis.com/coolclock/justclock.html width=340 height=340></iframe>')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<iframe src=http://randomibis.com/coolclock/justclock.html width=340 height=340></iframe>"
],
"output_type": "pyout",
"prompt_number": 17,
"text": [
"<IPython.core.display.HTML at 0x4506890>"
]
}
],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"HTML('<iframe src=http://www.uize.com/examples/digital-clock.html width=850 height=600></iframe>')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<iframe src=http://www.uize.com/examples/digital-clock.html width=850 height=600></iframe>"
],
"output_type": "pyout",
"prompt_number": 4,
"text": [
"<IPython.core.display.HTML at 0x4506490>"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Time always ticks and never stops\n",
"<br>\n",
"In computer world, time starts at 12:00am, January 1, 1970 (epoch). Every time interval is a tick or second."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In python world, there are 3 basic modules to track time:\n",
"\n",
"* [time](http://docs.python.org/2/library/time.html#module-time)\n",
"* [datetime](http://docs.python.org/2/library/datetime.html#module-datetime)\n",
"* [calendar](http://docs.python.org/2/library/calendar.html#module-calendar)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Question: how many ticks are there since epoch?"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import time\n",
"nticks = time.time()\n",
"print \"It is now %f ticks (seconds) past epoch\" % nticks"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"It is now 1353713584.312000 ticks (seconds) past epoch\n"
]
}
],
"prompt_number": 18
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Time is structured as a tuple of 9 pieces\n",
"\n",
"<table>\n",
" <tr><th>Index</th><th>Attribute</th><th>Meaning</th><th>Value</th><th>Range</th></tr>\n",
" <tr><td>0</td><td>tm_year</td><td>4-digit year</td><td>2012</td><td>1 - 9999</td></tr>\n",
" <tr><td>1</td><td>tm_mon</td><td>montd</td><td>11</td><td>1 - 12</td></tr>\n",
" <tr><td>2</td><td>tm_mday</td><td>day of montd</td><td>23</td><td>1 - 31</td></tr>\n",
" <tr><td>3</td><td>tm_hour</td><td>24 hour</td><td>18</td><td>0 - 23</td></tr>\n",
" <tr><td>4</td><td>tm_min</td><td>minute</td><td>52</td><td>0 - 59</td></tr>\n",
" <tr><td>5</td><td>tm_sec</td><td>second</td><td>6</td><td>0 - 61 (60 or 61 are leap seconds)</td></tr>\n",
" <tr><td>6</td><td>tm_wday</td><td>day of week</td><td>4</td><td>0 - 6 (0 for Monday)</td></tr>\n",
" <tr><td>7</td><td>tm_yday</td><td>day of year</td><td>328</td><td>1 - 366 (Julian day)</td></tr>\n",
" <tr><td>8</td><td>tm_isdst</td><td>daylight savings</td><td>0</td><td>-1, 0, 1 (-1 means library determines DST)</td></tr>\n",
" \n",
"</table>"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print \"Year (Min, Max): (%d, %d)\" % (datetime.MINYEAR, datetime.MAXYEAR)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Year (Min, Max): (1, 9999)\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"localtime = time.localtime(time.time())\n",
"print \"local time is:\\n\\t\", localtime"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"local time is:\n",
"\ttime.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)\n"
]
}
],
"prompt_number": 23
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print \"local time is:\\n\\t\", time.asctime(localtime)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"local time is:\n",
"\tFri Nov 23 19:03:19 2012\n"
]
}
],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import datetime"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# what timezone are you in\n",
"print time.tzname"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"('Eastern Standard Time', 'Eastern Daylight Time')\n"
]
}
],
"prompt_number": 35
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"Time units"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "heading",
"level": 4,
"metadata": {},
"source": [
"The Equation of Time"
]
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"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. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"N=np.arange(361)\n",
"B=360*(N-81)/365.0 * np.pi/180.0\n",
"E=9.87*np.sin(2*B) - 7.53*np.cos(B) - 1.5*np.sin(B)\n",
"\n",
"fig=plt.figure()\n",
"ax=fig.add_subplot(111)\n",
"ax.grid()\n",
"ax.set_xlim(-5,365)\n",
"ax.set_ylim(-17,20)\n",
"ax.set_xlabel('Day of Year')\n",
"ax.set_ylabel('Time Adjustment (min)')\n",
"ax.set_title('Equation of Time')\n",
"ax.plot(N,E,'ro')\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEXCAYAAABPkyhHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXl4FFX2v9/usCSGsChbNGBM2MKWRUH0OyA4smhAEFAG\nVERQliAZcGNUQsJkFNFRIf7EFURQGAZF1LQCLoQMjoJKWAQUIUQQQZAZhgAJIcn9/dGpTne6O52l\nl6rkvM9TT1JVXVWfvunc0/ece88xKaUUgiAIQr3GHGgBgiAIQuARYyAIgiCIMRAEQRDEGAiCIAiI\nMRAEQRAQYyAIgiAgxkAQXNK9e3eys7P9/tzU1FSuuuoq+vTpU63r3nnnHQYPHuwjVUJ9wCTrDAS9\nEBkZyYkTJwgKCrIdu/fee8nIyPDpcydMmEC7du1IT0/36XM88csvvxAXF8f+/fu59NJLHc499dRT\nzJ8/H4Di4mIuXrxISEgIYG233bt3+12vULeQkYGgG0wmE5mZmeTn59s2XxsCPbFlyxY6d+7sZAgA\nHn/8cVubvPLKK1x//fW2fTEEgjcQYyAYAqUUK1eupGvXrsTFxbF8+XLMZjOlpaWA9dvx559/bnt9\nWload999t23/9ttvJzw8nHbt2vHggw+Sm5sLwGuvvcbKlSt55plnCAsLY/jw4U73Ky4u5u2336ZP\nnz5cd911vPPOOxQXFwOQlZVFREQEr732GlFRUfzf//0fn3zyidv38Z///IcFCxbQsWNHRo8ezebN\nmwFYsmQJ9957L1u3biUsLIx58+ZV2hYVB/TLli2jb9++tn2z2cyKFSuIi4vjiiuu4IUXXuD48eMM\nHjyYiIgIUlNTbe8BYNeuXUydOpX27dvz0EMPcfjw4Ur+GkJdpEGgBQiCPe68lhaLhZSUFN566y2a\nNm3K5MmTMZlMtvMmk8lp357ExESWLVvGmTNnmD17NnPnzuXtt99m8uTJfPXVV7Rr146//vWvLu+3\nYsUKFi5cyJIlSzCbzUyaNImLFy8yYcIEAE6cOMGOHTvYunUrH3zwAZMnT+bIkSMu38esWbMoLCxk\n06ZNbNu2jZEjR/Ldd98xadIkGjRowBtvvMG//vWvGrVdRVasWMG7777LkSNHGDhwIJmZmaSmphIR\nEcFNN93ETTfdRN++fTl16hT9+/fnzTff5JlnnuGll15i7NixfPnll17RIRgDGRkIukEpxYgRI2jR\nooVtW7JkCQAff/wxd955J3/4wx/o2bMnkydPdms4XDFhwgRCQ0MJDw9n7ty5fPzxx7ZRhfZsd6xb\nt47p06dzzTXXkJCQwPTp03n//fdt50tLS/nrX/9Kq1atmDBhAqdPn+bHH390uk9JSQkWi4X09HQi\nIiIYOXIkN998s+1e3g7fTZs2jQ4dOjBgwACioqKIi4ujX79+REVFcdNNN9lGPmvXrmX06NEMHz6c\npk2b8uijj3LgwAF+++03r+oR9I0YA0E3mEwmPvjgA/773//atkmTJgGwbds24uLibK+Nj4+v9F4V\nO9a///3v3HTTTVx66aX06tWL06dP8/PPPzs82x3//ve/ufrqq237V199tcO39/DwcFq2bAlAgwYN\naNmyJUePHnW6z759+7hw4QKdOnVyey9vEhsba/u9TZs2Tvuaxs8++4x33nnHZoBbtmzJuXPnfKZL\n0CdiDARD0Lt3b3Jycmz727dvdzh/xRVXcPz4cdt+Tk6OrYPfunUrzz//PC+88ALHjh3jm2++AcoN\nRlBQkMMooSL/93//x7fffmvb//bbb+nXr1+130OXLl1o3Lixw6ihpvfyJjfeeCPjx493MMJnz55l\n9OjRAdUl+BcxBoKucOcqueWWW1i1ahVffvklu3btYsmSJQ7f5v/4xz+yatUqfv/9d9atW2cLzAIc\nPXqU0NBQWrduzbFjx5g7d67Dva+++mp27drlEFC1Z/jw4bzyyit899135OTk8MorrzBixIhqv7cG\nDRqQmJhIamoqR48eZd26daxfv75G96oJ9m1r//sdd9zB2rVrWbduHefOnePcuXNYLBbOnj3rF12C\nPhBjIOiKYcOGERYWZttGjRoFWI1BWloa999/P+PHj2fatGkOHdr9999Pq1at6NatG//4xz+YPHmy\n7dyIESO48cYbiYuLY9iwYYwZM8bBkNx6662YzWauuOIKRo4c6aTprrvuYtasWSQlJTFt2jRmzpzJ\nnXfeaTtfmYupIs8//zyxsbHccMMNLF++nDVr1hAZGWm7T1Xu5ep1ngLoFY/Zv75FixZs2LCBTZs2\n0alTJzp27Mjy5cur/J6EuoEsOhMMSV5eHlFRURQXF2M2y3caQagtAfsvOnLkCAMGDKBbt27079+f\nlStXApCfn8/w4cNp3749I0aMkKGqIAiCHwiYMWjYsCEvvPACe/bs4d1332XOnDnk5+fz8ssv0759\n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\nzulB95EjRxgwYADdunWjf//+rFy5EtB3e7vTrOe2Liws5NprryUuLo4+ffrwwgsvAPpuZ3eafd7O\nyvCCO8cAAAhXSURBVODExcWpzZs3q7y8PNW5c2d18uTJQEtySWRkpDp16pTDsQULFqgHHnhAFRYW\nqunTp6tnn302QOqsZGdnq+3bt6vu3bvbjrnT+Ntvv6nOnTurn3/+WWVlZan4+PhAyXapOy0tTT33\n3HNOr9WL7mPHjqmcnByllFInT55UV111lTpz5oyu29udZr239blz55RSShUWFqpu3bqp/fv367qd\n3Wn2dTsbemTwv//9D4B+/fpx5ZVXMmjQILZu3RpgVe5RFQLf27ZtY9KkSTRu3JiJEycGXHvfvn1p\n0aKFwzF3Grdu3cqQIUNo3749N9xwA0op8vPzAyHbpW5wPdFAL7rbtm1LXFwcAC1btqRbt2588803\num5vd5pB3219ySWXAHD27FmKi4tp3LixrtvZnWbwbTsb2hh88803dOnSxbbftWtXvv766wAqco/J\nZOLGG29kxIgRfPjhh4Cj/i5durBt27ZASnSJO41bt24lJibG9rrOnTvrTv+LL75Inz59WLBgge2f\nY9u2bbrTfeDAAfbs2UPv3r0N096a5muvvRbQd1uXlpYSGxtLmzZteOCBB2jfvr3u29mVZvBtOxva\nGBiJL7/8kp07dzJ//nwefPBBjh8/bogpstXRqKf1H9OmTePQoUNs2LCBgwcP2goluXo/gdSdn5/P\nmDFjeOGFF2jSpIkh2ttec2hoqO7b2mw2s3PnTg4cOMDixYvJycnRfTu70uzrdja0MejVqxc//PCD\nbX/Pnj306dMngIrcEx4eDkBMTAy33norH330Eb169WLfvn0A7Nu3j169egVSokvcabz22mvZu3ev\n7XU//PCDrvS3bt0ak8lEs2bNmD59Ou+//z6gL90XL15k1KhR3H333QwfPhzQf3u70myEtgbrJI5b\nbrmFrVu36r6dNew1+7qdDW0MmjVrBlhnFOXl5fHpp5/ahq164vz587Yh3cmTJ9mwYQNDhgzh2muv\nZenSpRQUFLB06VJdGjJ3Gnv37s2GDRs4fPgwWVlZmM1mwsLCAqy2nGPHjgFQXFzMypUrueWWWwD9\n6FZKMWnSJLp3787MmTNtx/Xc3u4067mtf//9d1tCt1OnTrFx40aGDx+u63Z2p9nn7VyjsLOOyMrK\nUl26dFHR0dFq0aJFgZbjktzcXBUbG6tiY2PVjTfeqJYsWaKUUurMmTPq1ltvVe3atVPDhw9X+fn5\nAdX5pz/9SYWHh6tGjRqpiIgItXTp0ko1Lly4UEVHR6uYmBiVnZ0dcN0NGzZUERERasmSJeruu+9W\nPXr0UFdffbWaNWuWw0wuPej+17/+pUwmk4qNjVVxcXEqLi5OffLJJ7pub1eaP/74Y1239a5du1R8\nfLzq2bOnGjRokHrrrbeUUpX/7+lVs6/b2ZC5iQRBEATvYmg3kSAIguAdxBgIgiAIYgwEQRAEMQaC\nIAgCYgyEekBQUBDx8fF06tSJXr16sXTpUp8v+Pv73//ONddcw+zZs23H9uzZQ+fOnSksLLQdS0xM\nZPXq1T7VIghVQWYTCXWesLAw8vPzKSkp4bPPPiMtLY0xY8Y4zJX3NuHh4Rw+fJiGDRs6HH/sscdo\n0KAB6enprFu3jldeeYX169fX+DklJSUEBQXVVq4gGH+dgSB4okmTJg77a9euVeHh4UoppQ4dOqT6\n9u2r4uPj1ahRo9SOHTuUUkqNHz9erVu3znbNuHHj1AcffOB071deeUVdd9116pZbblGbNm1SSik1\nbNgwFRQUpOLi4tTq1asdXn/+/HnVuXNnlZOTo7p06aIOHDigfvjhBzV16lTVu3dvlZSUpH7//Xel\nlFKvvfaa6tWrl0pISFCPPPKIunDhglJKqXvuuUfNmjVL9e7dWz388MPeaSSh3iPGQKjzVDQG+fn5\nKjg4WOXn56vz58+rwsJCpZRSX3/9tRo7dqxSSqnNmzerESNGKKWUOn36tLrqqqtUSUmJw3127typ\nrrvuOnX69Gn1ww8/qA4dOrh9pj0fffSRCgsLU/PmzVNKWY3H4cOHlVJKvfTSS+rpp59WSinboqLS\n0lI1ffp0tX79eqWU1RjccMMN6syZMzVrEEFwgSFrIAtCbVDWL0G2ZF5z587l888/p6SkhCNHjgDW\ntOhJSUn8/vvvvPvuu4wePRqz2THElpmZyejRo2nWrBnNmjWjU6dObNu2zVa8yB1Dhw6lRYsWJCUl\nceLECbZs2cKtt94KWN0+kZGRAOTm5pKcnExOTg4FBQU0atSIwYMHYzKZGD16tK7SfwjGR4yBUO/Y\nuHEjLVu2JDQ0lGXLlvH777+zZcsWzp07R5s2bWyvGz9+PCtWrGD16tUsW7bM6T4mk6nGgWiz2YzZ\nbObixYtceuml5OTkOL3m4Ycf5oknnuDtt99m0aJF7Nixw3bu8ssvr9FzBcEdMptIqDdoAeTnn3+e\nRx55BICjR49y5ZVX0rhxY15//XVKS0ttr58wYQILFy7EZDI51M3QGDp0KO+//z7/+9//2L9/Pz/9\n9JPHUUFFwsPDueqqq3jvvfdQSnHx4kVbBspff/2Vjh078t///pdVq1Y5pCWuqRESBHeIMRDqPAUF\nBcTHxxMTE8Nf/vIXJk2aRHJyMgD33HMPW7ZsoUePHhQVFdGkSRPbda1bt6Zr167ce++9Lu/bo0cP\nxo8fz80338zMmTN5/fXXbec85ZO3P7948WI2bdpEXFwc8fHxfPXVVwCkp6czdOhQBg8ezIABA9xe\nLwjeQKaWCoIb8vPzueaaa/j222/FPy/UeWRkIAgu+Oyzz+jVqxePPfaYGAKhXiAjA0EQBEFGBoIg\nCIIYA0EQBAExBoIgCAJiDARBEATEGAiCIAiIMRAEQRCA/w9vUJoxnNP/DwAAAABJRU5ErkJggg==\n"
}
],
"prompt_number": 22
},
{
"cell_type": "raw",
"metadata": {},
"source": [
"The EOT can be approximated by the following formula:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"$$ E = 9.87 sin(2B) - 7.53 cos(B) - 1.5 sin(B) $$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"where $ B = \\frac{360}{365} (N-81) $ &nbsp; in degree and $N$ is the day of year."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Show me a calendar"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import calendar\n",
"# set Sunday as 1st column\n",
"calendar.setfirstweekday(6)\n",
"# show calendar for a month\n",
"cal = calendar.month(2012,11)\n",
"print cal"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" November 2012\n",
"Su Mo Tu We Th Fr Sa\n",
" 1 2 3\n",
" 4 5 6 7 8 9 10\n",
"11 12 13 14 15 16 17\n",
"18 19 20 21 22 23 24\n",
"25 26 27 28 29 30\n",
"\n"
]
}
],
"prompt_number": 29
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# show calendar for a year\n",
"cal2 = calendar.calendar(2012)\n",
"print cal2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
" 2012\n",
"\n",
" January February March\n",
"Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa\n",
" 1 2 3 4 5 6 7 1 2 3 4 1 2 3\n",
" 8 9 10 11 12 13 14 5 6 7 8 9 10 11 4 5 6 7 8 9 10\n",
"15 16 17 18 19 20 21 12 13 14 15 16 17 18 11 12 13 14 15 16 17\n",
"22 23 24 25 26 27 28 19 20 21 22 23 24 25 18 19 20 21 22 23 24\n",
"29 30 31 26 27 28 29 25 26 27 28 29 30 31\n",
"\n",
" April May June\n",
"Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa\n",
" 1 2 3 4 5 6 7 1 2 3 4 5 1 2\n",
" 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9\n",
"15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16\n",
"22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23\n",
"29 30 27 28 29 30 31 24 25 26 27 28 29 30\n",
"\n",
" July August September\n",
"Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa\n",
" 1 2 3 4 5 6 7 1 2 3 4 1\n",
" 8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8\n",
"15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15\n",
"22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22\n",
"29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29\n",
" 30\n",
"\n",
" October November December\n",
"Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa\n",
" 1 2 3 4 5 6 1 2 3 1\n",
" 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8\n",
"14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15\n",
"21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22\n",
"28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29\n",
" 30 31\n",
"\n"
]
}
],
"prompt_number": 32
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### History of time-keeping"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<table><tr>\n",
" <td><img src='http://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/The_Sun_by_the_Atmospheric_Imaging_Assembly_of_NASA%27s_Solar_Dynamics_Observatory_-_20100819.jpg/290px-The_Sun_by_the_Atmospheric_Imaging_Assembly_of_NASA%27s_Solar_Dynamics_Observatory_-_20100819.jpg' width=200 height=200></td>\n",
" <td><img src='http://theballyblog.com/storage/stonehenge.jpeg' width=200 height=200></td>\n",
" <td><img src='http://www.1worldglobes.com/images/2520NumbersSundial.gif' width=200 height=200></td>\n",
"</tr>\n",
"\n",
"<tr>\n",
" <td><img src='http://www.uh.edu/engines/foliotverge.jpg' width=200 height=200></td>\n",
" <td><img src='http://www.adamspiers.org/photos/London/friends/Stacey_visit/Big_Ben_closeup.jpg' width=200 height=200></td>\n",
" <td><img src='http://remodelista.com/img/sub/uimg/janet/12-2010/Howard-miller-clock.jpg' width=200 height=200></td>\n",
"</tr>\n",
"\n",
"<tr>\n",
" <td><img src='http://images.sodahead.com/polls/000991441/round_led_animated_digital_clock_answer_1_xlarge.jpeg' width=200 height=200></td>\n",
" <td><img src='http://dl.dropbox.com/u/54552252/img/virtual-clock.jpg' width=200 height=200></td>\n",
" <td><img src='http://www.nist.gov/pml/div688/grp50/images/nistf1ph_1.jpg' width=200 height=200></td>\n",
"</tr>\n",
"\n",
"</table>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Story of Time by a modern string physicist"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.display import YouTubeVideo\n",
"YouTubeVideo('MTx6ha6fRwo')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
" <iframe\n",
" width=\"400\"\n",
" height=\"300\"\n",
" src=\"http://www.youtube.com/embed/MTx6ha6fRwo\"\n",
" frameborder=\"0\"\n",
" allowfullscreen\n",
" ></iframe>\n",
" "
],
"output_type": "pyout",
"prompt_number": 44,
"text": [
"<IPython.lib.display.YouTubeVideo at 0x451e8b0>"
]
}
],
"prompt_number": 44
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<font color=red size=+1>watch the rest: </font> [Time - a BBC documentary](http://www.youtube.com/view_play_list?p=DDC8B9A17F8A88A4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### References\n",
"\n",
"* [Python][1] \n",
"* [Tutorials Point][2]\n",
"* [CoolClock][3]\n",
"* [Clock@Wikipedia][4]\n",
"* [Time Units@Wikipedia][5]\n",
"\n",
"[1]: http://docs.python.org/2/library/index.html \"Python Standard Library\"\n",
"[2]: http://www.tutorialspoint.com/python \"Tutorials Point\"\n",
"[3]: http://randomibis.com/coolclock/ \"CoolClock\"\n",
"[4]: http://en.wikipedia.org/wiki/Clock \"Wiki Clock\"\n",
"[5]: http://en.wikipedia.org/wiki/Unit_of_time \"Wiki Time Unit\""
]
},
{
"cell_type": "heading",
"level": 6,
"metadata": {},
"source": [
" \n",
"<a href=\"mailto:wen.g.gong@gmail.com?Subject=What_Is_Time\">\n",
"Any feedback is welcome</a>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<script type=\"text/javascript\">\n",
" show_input=true;\n",
" function toggle_input(){\n",
" if (show_input){\n",
" $('div.input').hide();\n",
" }else{\n",
" $('div.input').show();\n",
" }\n",
" show_input = !show_input\n",
" }\n",
"\n",
" show_output=true;\n",
" function toggle_output(){\n",
" if (show_output){\n",
" $('div.output').hide();\n",
" }else{\n",
" $('div.output').show();\n",
" }\n",
" show_output = !show_output\n",
" }\n",
" \n",
"</script>\n",
"<a href=\"javascript:toggle_input()\" target=\"_self\">toggle_in</a> &nbsp;|&nbsp; <a href=\"javascript:toggle_output()\" target=\"_self\">toggle_out</a>"
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment