Mercurial > urweb
comparison src/c/urweb.c @ 1971:1e360ea06a09
Add basic year/month/day/hour/minute/second <-> time functions.
author | Patrick Hurst <phurst@mit.edu> |
---|---|
date | Thu, 05 Dec 2013 11:36:06 -0500 |
parents | 2f33d9a51765 |
children | 155bd0bc4d28 |
comparison
equal
deleted
inserted
replaced
1920:2f33d9a51765 | 1971:1e360ea06a09 |
---|---|
3849 | 3849 |
3850 uw_Basis_int uw_Basis_toSeconds(uw_context ctx, uw_Basis_time tm) { | 3850 uw_Basis_int uw_Basis_toSeconds(uw_context ctx, uw_Basis_time tm) { |
3851 return tm.seconds; | 3851 return tm.seconds; |
3852 } | 3852 } |
3853 | 3853 |
3854 uw_Basis_time uw_Basis_fromDatetime(uw_context ctx, uw_Basis_int year, uw_Basis_int month, uw_Basis_int day, uw_Basis_int hour, uw_Basis_int minute, uw_Basis_int second) { | |
3855 struct tm tm = { .tm_year = year - 1900, .tm_mon = month, .tm_mday = day, | |
3856 .tm_hour = hour, .tm_min = minute, .tm_sec = second }; | |
3857 uw_Basis_time r = { timegm(&tm) }; | |
3858 return r; | |
3859 } | |
3860 | |
3861 uw_Basis_int uw_Basis_datetimeYear(uw_context ctx, uw_Basis_time time) { | |
3862 struct tm tm; | |
3863 gmtime_r(&time.seconds, &tm); | |
3864 return tm.tm_year + 1900; | |
3865 } | |
3866 | |
3867 uw_Basis_int uw_Basis_datetimeMonth(uw_context ctx, uw_Basis_time time) { | |
3868 struct tm tm; | |
3869 gmtime_r(&time.seconds, &tm); | |
3870 return tm.tm_mon; | |
3871 } | |
3872 | |
3873 uw_Basis_int uw_Basis_datetimeDay(uw_context ctx, uw_Basis_time time) { | |
3874 struct tm tm; | |
3875 gmtime_r(&time.seconds, &tm); | |
3876 return tm.tm_mday; | |
3877 } | |
3878 | |
3879 uw_Basis_int uw_Basis_datetimeHour(uw_context ctx, uw_Basis_time time) { | |
3880 struct tm tm; | |
3881 gmtime_r(&time.seconds, &tm); | |
3882 return tm.tm_hour; | |
3883 } | |
3884 | |
3885 uw_Basis_int uw_Basis_datetimeMinute(uw_context ctx, uw_Basis_time time) { | |
3886 struct tm tm; | |
3887 gmtime_r(&time.seconds, &tm); | |
3888 return tm.tm_min; | |
3889 } | |
3890 | |
3891 uw_Basis_int uw_Basis_datetimeSecond(uw_context ctx, uw_Basis_time time) { | |
3892 struct tm tm; | |
3893 gmtime_r(&time.seconds, &tm); | |
3894 return tm.tm_sec; | |
3895 } | |
3896 | |
3897 | |
3898 | |
3854 void *uw_get_global(uw_context ctx, char *name) { | 3899 void *uw_get_global(uw_context ctx, char *name) { |
3855 int i; | 3900 int i; |
3856 | 3901 |
3857 for (i = 0; i < ctx->n_globals; ++i) | 3902 for (i = 0; i < ctx->n_globals; ++i) |
3858 if (!strcmp(name, ctx->globals[i].name)) | 3903 if (!strcmp(name, ctx->globals[i].name)) |