Ejemplo n.º 1
0
bool DateInterval::setDateString(CStrRef date_string) {
  timelib_time *time;
  timelib_rel_time *di;
  timelib_error_container *errors = NULL;

  time = timelib_strtotime((char*)date_string.data(), date_string.size(),
                           &errors, TimeZone::GetDatabase());
  int error_count = errors->error_count;
  DateTime::setLastErrors(errors);

  if (error_count > 0) {
    timelib_time_dtor(time);
    return false;
  } else {
    di = timelib_rel_time_clone(&(time->relative));
    timelib_time_dtor(time);
    m_di = DateIntervalPtr(di, dateinterval_deleter());
    return true;
  }
}
Ejemplo n.º 2
0
SmartPtr<DateInterval> DateInterval::cloneDateInterval() const {
  if (!m_di) return makeSmartPtr<DateInterval>();
  return makeSmartPtr<DateInterval>(timelib_rel_time_clone(m_di.get()));
}
Ejemplo n.º 3
0
SmartObject<DateInterval> DateInterval::cloneDateInterval() const {
  if (!m_di) return NEWOBJ(DateInterval)();
  return NEWOBJ(DateInterval)(timelib_rel_time_clone(m_di.get()));
}
Ejemplo n.º 4
0
req::ptr<DateInterval> DateInterval::cloneDateInterval() const {
  if (!m_di) return req::make<DateInterval>();
  return req::make<DateInterval>(timelib_rel_time_clone(m_di.get()));
}