diff options
author | Federico Mena Quintero <federico@nuclecu.unam.mx> | 1998-10-03 07:59:35 +0800 |
---|---|---|
committer | Arturo Espinosa <unammx@src.gnome.org> | 1998-10-03 07:59:35 +0800 |
commit | 96439bc6fffe21b8359bd825aa89fc586d36380a (patch) | |
tree | dc5a71f7b8cfbe15af6721f9440ef4c6c75f57a4 /calendar/timeutil.c | |
parent | e9a632c3c15bac86946af5f6d75a79517b4c6a07 (diff) | |
download | gsoc2013-evolution-96439bc6fffe21b8359bd825aa89fc586d36380a.tar.gz gsoc2013-evolution-96439bc6fffe21b8359bd825aa89fc586d36380a.tar.zst gsoc2013-evolution-96439bc6fffe21b8359bd825aa89fc586d36380a.zip |
Changed name from time_start_of_day() to be consistent with the other
1998-10-02 Federico Mena Quintero <federico@nuclecu.unam.mx>
* timeutil.c (time_day_begin): Changed name from
time_start_of_day() to be consistent with the other begin/end functions.
(time_day_end): Likewise.
* calobj.c (ical_object_get_first_weekday): New public function to
get the first toggled day in a weekday mask. Since we do not
support multiple weekdays in a monthly-by-pos rule, we just fetch
the first toggled one.
(ical_object_generate_events): Added a missing break statement.
* timeutil.c (time_month_end): Made it consistent with the rest of
the time begin/end functions -- now it returns the first second of
the *next* month.
(time_week_end): Actually implemented this function. It will be
used when the week view is rewritten.
* calobj.c (time_in_range): Fix off-by-one in the comparison of
the time against the end time.
* gncal-full-day.c (expand_space): Fixed bug where the columns not
were being expanded due to a missing "slot + j".
svn path=/trunk/; revision=425
Diffstat (limited to 'calendar/timeutil.c')
-rw-r--r-- | calendar/timeutil.c | 70 |
1 files changed, 47 insertions, 23 deletions
diff --git a/calendar/timeutil.c b/calendar/timeutil.c index 5d4008e75d..7a0550c069 100644 --- a/calendar/timeutil.c +++ b/calendar/timeutil.c @@ -210,34 +210,38 @@ time_from_day (int year, int month, int day) } time_t -time_start_of_day (time_t t) +time_year_begin (time_t t) { struct tm tm; - + tm = *localtime (&t); tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; + tm.tm_mon = 0; + tm.tm_mday = 1; return mktime (&tm); } time_t -time_end_of_day (time_t t) +time_year_end (time_t t) { struct tm tm; - + tm = *localtime (&t); tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; - tm.tm_mday++; - + tm.tm_mon = 0; + tm.tm_mday = 1; + tm.tm_year++; + return mktime (&tm); } time_t -time_year_begin (time_t t) +time_month_begin (time_t t) { struct tm tm; @@ -245,62 +249,82 @@ time_year_begin (time_t t) tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; - tm.tm_mon = 0; tm.tm_mday = 1; return mktime (&tm); } time_t -time_year_end (time_t t) +time_month_end (time_t t) { struct tm tm; tm = *localtime (&t); - tm.tm_hour = 23; - tm.tm_min = 59; - tm.tm_sec = 59; - tm.tm_mon = 11; - tm.tm_mday = 31; + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_mday = 1; + tm.tm_mon++; return mktime (&tm); } time_t -time_month_begin (time_t t) +time_week_begin (time_t t) { struct tm tm; + /* FIXME: make it take week_starts_on_monday into account */ + tm = *localtime (&t); tm.tm_hour = 0; tm.tm_min = 0; tm.tm_sec = 0; - tm.tm_mday = 1; + tm.tm_mday -= tm.tm_wday; return mktime (&tm); } time_t -time_month_end (time_t t) +time_week_end (time_t t) { struct tm tm; + /* FIXME: make it take week_starts_on_monday into account */ + tm = *localtime (&t); - tm.tm_hour = 23; - tm.tm_min = 59; - tm.tm_sec = 59; - tm.tm_mday = time_days_in_month (tm.tm_year + 1900, tm.tm_mon); + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_mday += 7 - tm.tm_wday; return mktime (&tm); } time_t -time_week_begin (time_t t) +time_day_begin (time_t t) { struct tm tm; + + tm = *localtime (&t); + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + + return mktime (&tm); +} +time_t +time_day_end (time_t t) +{ + struct tm tm; + tm = *localtime (&t); - tm.tm_mday -= tm.tm_wday; + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_mday++; + return mktime (&tm); } |