Force the timestamp to be a datetime
        :param curve_timestamp:
        :return:

def curve_timestamp(self, curve_timestamp):
        """
        Force the timestamp to be a datetime
        :param curve_timestamp:
        :return:
        """
        if curve_timestamp is not None:
            curve_timestamp = str(curve_timestamp)
            if isinstance(curve_timestamp, str):
                curve_timestamp = parse(curve_timestamp).replace(tzinfo=pytz.utc)
            if type(curve_timestamp) == date:
                curve_timestamp = datetime.combine(curve_timestamp, datetime.min.time()).replace(tzinfo=pytz.utc)
            if not curve_timestamp.tzinfo:
                raise ValueError('Cannot set a curve without a timezone')            
            if curve_timestamp > datetime.utcnow().replace(tzinfo=pytz.utc):
                raise ValueError('Cannot set a curve in the future: %s' % curve_timestamp.isoformat())
            self._curve_timestamp = curve_timestamp