How should timestamps be formatted for HubSpot's APIs?

HubSpot API endpoints accept UNIX formatted timestamps in milliseconds. HubSpot stores the timestamps internally as UTC time, and any time and date that appear in the portal will be displayed based on the Time Zone settings in the Reports > Reports Settings. Most scripting languages have built-in functions or existing libraries that handle time conversion, but you must ensure that your timestamp values are in the correct UNIX millisecond format, before making requests to HubSpot APIs. 

Example: 1427997766000 translates to April 2nd, 2015, 2:02:46 PM EDT (Eastern Daylight Saving Time) or 02 Apr 2015 18:02:46 UTC.

Date/Datetime properties in HubSpot Contacts

HubSpot has two types of contact properties for storing times, date and datetime.  Any properties created in the HubSpot application in Contact Settings would be date properties.

Date properties will only store the date, and must be set to midnight UTC for the date you want.  For example, May 1 2015 would be 1430438400000 (01 May 2015 00:00:00 UTC). If you try to set a value that is not midnight UTC, you will receive an error.

Datetime properties can store any time, so any valid millisecond timestamp would be accepted.  The only way to create a datetime property is throught the Contact Property API. You can create a new datetime property propety or use the API to modify an existing property and set the 'type' to 'datetime'.