Home » U++ Library support » U++ Core » Very need function Age.
Very need function Age. [message #19561] |
Tue, 16 December 2008 01:26 |
|
Simple function Age (whole years between 2 dates) used in any projects. Maybe include this function in TimeDate.cpp ?
SergeyNikitin<U++>( linux, wine )
{
under( Ubuntu || Debian || Raspbian );
}
|
|
|
Re: Very need function Age. [message #19562 is a reply to message #19561] |
Tue, 16 December 2008 04:52 |
|
Code of function
int Age(Date date1, Date date2) {
Date date_t;
if (date1 > date2) {
date_t = date2;
date2 = date1;
date1 = date_t;
}
if (date2.month > date1.month) return date2.year - date1.year;
else if (date2.month < date1.month) return date2.year - date1.year - 1;
else if (date2.month == date1.month) {
if (date2.day >= date1.day) return date2.year - date1.year;
else if (date2.day < date1.day) return date2.year - date1.year - 1;
}
return -1;
}
SergeyNikitin<U++>( linux, wine )
{
under( Ubuntu || Debian || Raspbian );
}
|
|
|
Re: Very need function Age. [message #19563 is a reply to message #19562] |
Tue, 16 December 2008 08:34 |
|
May be:
int AgeYears(Date date1, Date date2) {
int sign=1;
if (date1 > date2) sign = -1;
int age_years = sign*(date2.year - date1.year);
int month_dif = sign*(date2.month - date1.month)
if ((month_dif < 0)||((month_dif == 0)&&(sign*(date2.day - date1.day) < 0))) age_years--;
return age_years;
}
?
tojocky
[Updated on: Tue, 16 December 2008 08:45] Report message to a moderator
|
|
|
Re: Very need function Age. [message #19565 is a reply to message #19563] |
Tue, 16 December 2008 13:29 |
|
tojocky wrote on Tue, 16 December 2008 10:34 | May be:
int AgeYears(Date date1, Date date2) {
int sign=1;
if (date1 > date2) sign = -1;
int age_years = sign*(date2.year - date1.year);
int month_dif = sign*(date2.month - date1.month)
if ((month_dif < 0)||((month_dif == 0)&&(sign*(date2.day - date1.day) < 0))) age_years--;
return age_years;
}
?
tojocky
|
Maybe. It doesn't matter. Last time I use this function anywhere.
This function very is often used.
So it was a request to the developers of inclusion in the assembly.
SergeyNikitin<U++>( linux, wine )
{
under( Ubuntu || Debian || Raspbian );
}
|
|
|
Goto Forum:
Current Time: Sun Apr 28 18:47:43 CEST 2024
Total time taken to generate the page: 0.03967 seconds
|