What are the common/best practices to handle time data for machine learning application?

For example, if in data set there is a column with timestamp of event, such as "2014-05-05", how you can extract useful features from this column if any?

Thanks in advance!

I would start by graphing the time variable vs other variables and looking for trends.  

For example



In this case there is a periodic weekly trend and a long term upwards trend.  So you would want to encode two time variables:


day_of_week
absolute_time


In general

There are several common time frames that trends occur over:


absolute_time
day_of_year
day_of_week
month_of_year
hour_of_day
minute_of_hour


Look for trends in all of these.  

Weird trends

Look for weird trends too.  For example you may see rare but persistent time based trends:


is_easter
is_superbowl
is_national_emergency
etc.


These often require that you cross reference your data against some external source that maps events to time.  

Why graph?

There are two reasons that I think graphing is so important.


Weird trends
While the general trends can be automated pretty easily (just add them
every time), weird trends will often require a human eye and knowledge
of the world to find.  This is one reason that graphing is so
important.
Data errors
All too often data has serious errors in it.  For example, you may find that the dates were encoded in two formats and only one of them has been correctly loaded into your program.  There are a myriad of such problems and they are surprisingly common.  This is the other reason I think graphing is important, not just for time series, but for any data. 

