utils: added date comparison method
icaltime_compare_date_only() has some problems when one of the dates passed are marked as is_date and the other not.
This commit is contained in:
@@ -503,6 +503,30 @@ build_component_from_details (const gchar *summary,
|
|||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* icaltime_compare_date:
|
||||||
|
* @date1:
|
||||||
|
* @date2:
|
||||||
|
*
|
||||||
|
* Compare date parts of {@link icaltimetype} objects. Return negative value, 0 or positive value
|
||||||
|
* accordingly if date1 is before, same day of after date2.
|
||||||
|
* As a bonus it returns the amount of days passed between two days on the same year.
|
||||||
|
*
|
||||||
|
* Returns: negative, 0 or positive
|
||||||
|
**/
|
||||||
|
gint
|
||||||
|
icaltime_compare_date (const icaltimetype *date1,
|
||||||
|
const icaltimetype *date2)
|
||||||
|
{
|
||||||
|
if (date1->year < date2->year)
|
||||||
|
return -1;
|
||||||
|
else if (date1->year > date2->year)
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return time_day_of_year (date1->day, date1->month - 1, date1->year) -
|
||||||
|
time_day_of_year (date2->day, date2->month - 1, date2->year);
|
||||||
|
}
|
||||||
|
|
||||||
/* Function to do a last minute fixup of the AM/PM stuff if the locale
|
/* Function to do a last minute fixup of the AM/PM stuff if the locale
|
||||||
* and gettext haven't done it right. Most English speaking countries
|
* and gettext haven't done it right. Most English speaking countries
|
||||||
* except the USA use the 24 hour clock (UK, Australia etc). However
|
* except the USA use the 24 hour clock (UK, Australia etc). However
|
||||||
|
|||||||
@@ -90,6 +90,9 @@ ECalComponent* build_component_from_details (const gchar
|
|||||||
const icaltimetype *initial_date,
|
const icaltimetype *initial_date,
|
||||||
const icaltimetype *final_date);
|
const icaltimetype *final_date);
|
||||||
|
|
||||||
|
gint icaltime_compare_date (const icaltimetype *date1,
|
||||||
|
const icaltimetype *date2);
|
||||||
|
|
||||||
/* code brought from evolution */
|
/* code brought from evolution */
|
||||||
gsize e_strftime_fix_am_pm (gchar *str,
|
gsize e_strftime_fix_am_pm (gchar *str,
|
||||||
gsize max,
|
gsize max,
|
||||||
|
|||||||
Reference in New Issue
Block a user