code: def curve_timestamp(self, curve_timestamp):
          
          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
docs: Force the timestamp to be a datetime
          :param curve_timestamp:
          :return: