diff options
Diffstat (limited to 'include/my_time.h')
-rw-r--r-- | include/my_time.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/my_time.h b/include/my_time.h index 8e5742f7603..c71ac4ace17 100644 --- a/include/my_time.h +++ b/include/my_time.h @@ -99,6 +99,17 @@ str_to_datetime(const char *str, uint length, MYSQL_TIME *l_time, ulong flags, int *was_cut); longlong number_to_datetime(longlong nr, ulong sec_part, MYSQL_TIME *time_res, uint flags, int *was_cut); + +static inline +longlong double_to_datetime(double nr, MYSQL_TIME *ltime, uint flags, int *cut) +{ + if (nr < 0 || nr > LONGLONG_MAX) + nr= (double)LONGLONG_MAX; + return number_to_datetime((longlong) floor(nr), + (ulong)((nr-floor(nr))*TIME_SECOND_PART_FACTOR), + ltime, flags, cut); +} + int number_to_time(my_bool neg, longlong nr, ulong sec_part, MYSQL_TIME *ltime, int *was_cut); ulonglong TIME_to_ulonglong_datetime(const MYSQL_TIME *); |