diff --git a/mrbgems/mruby-time/include/mruby/time.h b/mrbgems/mruby-time/include/mruby/time.h index 9149e0af2..349fc4d04 100644 --- a/mrbgems/mruby-time/include/mruby/time.h +++ b/mrbgems/mruby-time/include/mruby/time.h @@ -20,6 +20,7 @@ typedef enum mrb_timezone { } mrb_timezone; MRB_API mrb_value mrb_time_at(mrb_state *mrb, time_t sec, time_t usec, mrb_timezone timezone); +MRB_API struct tm* mrb_time_get_tm(mrb_state *mrb, mrb_value time); MRB_END_DECL diff --git a/mrbgems/mruby-time/src/time.c b/mrbgems/mruby-time/src/time.c index d502774dd..c28ac2322 100644 --- a/mrbgems/mruby-time/src/time.c +++ b/mrbgems/mruby-time/src/time.c @@ -753,6 +753,14 @@ time_get_ptr(mrb_state *mrb, mrb_value time) return tm; } +MRB_API struct tm* +mrb_time_get_tm(mrb_state *mrb, mrb_value time) +{ + struct mrb_time *tm = time_get_ptr(mrb, time); + time_update_datetime(mrb, tm, FALSE); + return &tm->datetime; +} + /* * call-seq: * time == other_time -> true or false