/* * @return [DateTime] Ruby core lib DateTime */ static VALUE rb_ct_date_time_to_datetime(VALUE self) { VALUE parts; VALUE offset = INT2NUM(0); parts = RSEND(self, "unpack"); return rb_funcall( RUBY_CLASS("DateTime"), rb_intern("new"), 7, rb_ary_entry(parts, 0), rb_ary_entry(parts, 1), rb_ary_entry(parts, 2), rb_ary_entry(parts, 3), rb_ary_entry(parts, 4), rb_ary_entry(parts, 5), offset ); }
/* * Convert CT::Date to ruby Date */ static VALUE rb_ct_date_to_date(VALUE self) { ct_date *date; NINT y, m, d; CTDBRET rc; VALUE rb_date; GetCTDate(self, date); if ( ( rc = ctdbDateUnpack(date->value, &y, &m, &d) ) != CTDBRET_OK ) rb_raise(cCTError, "[%d] ctdbDateUnpack failed.", rc); rb_date = rb_funcall(RUBY_CLASS("Date"), rb_intern("new"), 3, INT2FIX(y), INT2FIX(m), INT2FIX(d)); return rb_date; }