data-science-ipython-notebooks/core/datetime.ipynb
2015-01-24 13:18:54 -05:00

270 lines
5.3 KiB
Plaintext

{
"metadata": {
"name": "",
"signature": "sha256:1a340e636d5b4cc6f1d1ccf3e28fc3911b115c4c5f3aff64816bd797610581ea"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Dates and Times"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from datetime import datetime, date, time"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 86
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"year = 2015\n",
"month = 1\n",
"day = 20\n",
"hour = 7\n",
"minute = 28\n",
"second = 15"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 87
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## datetime Basics"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dt = datetime(year, month, day, hour, minute, second)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 88
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dt.hour, dt.minute, dt.second"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 89,
"text": [
"(7, 28, 15)"
]
}
],
"prompt_number": 89
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Extract the equivalent date object\n",
"dt.date()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 90,
"text": [
"datetime.date(2015, 1, 20)"
]
}
],
"prompt_number": 90
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Extract the equivalent time object\n",
"dt.time()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 91,
"text": [
"datetime.time(7, 28, 15)"
]
}
],
"prompt_number": 91
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# When aggregating or grouping time series data, it is sometimes\n",
"# useful to replace fields of a series of datetimes such as zeroing\n",
"# out the minute and second fields.\n",
"dt.replace(minute=0, second=0)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 92,
"text": [
"datetime.datetime(2015, 1, 20, 7, 0)"
]
}
],
"prompt_number": 92
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## strftime"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Format datetime string\n",
"dt.strftime('%m/%d/%Y %H:%M')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 93,
"text": [
"'01/20/2015 07:28'"
]
}
],
"prompt_number": 93
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## strptime"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Convert a string into a datetime object\n",
"datetime.strptime('20150120', '%Y%m%d')"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 94,
"text": [
"datetime.datetime(2015, 1, 20, 0, 0)"
]
}
],
"prompt_number": 94
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## timedelta"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Get the current datetime\n",
"dt_now = datetime.now()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 95
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Subtracting two datetimes results in a timedelta\n",
"delta = dt_now - dt\n",
"delta"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 96,
"text": [
"datetime.timedelta(4, 20866, 858576)"
]
}
],
"prompt_number": 96
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Adding a datetime and a timedelta results in a datetime\n",
"dt + delta"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 97,
"text": [
"datetime.datetime(2015, 1, 24, 13, 16, 1, 858576)"
]
}
],
"prompt_number": 97
}
],
"metadata": {}
}
]
}