Added ageFromDateISO() for YYYY-MM-DD dates
parent
087736c152
commit
305ec89a70
|
|
@ -59,12 +59,9 @@ static S32 days_from_month(S32 year, S32 month)
|
|||
}
|
||||
}
|
||||
|
||||
std::string LLDateUtil::ageFromDate(const std::string& date_string,
|
||||
const LLDate& now)
|
||||
static std::string age_from_date(S32 born_year, S32 born_month, S32 born_day,
|
||||
const LLDate& now)
|
||||
{
|
||||
S32 born_month, born_day, born_year;
|
||||
S32 matched = sscanf(date_string.c_str(), "%d/%d/%d", &born_month, &born_day, &born_year);
|
||||
if (matched != 3) return "???";
|
||||
LLDate born_date;
|
||||
born_date.fromYMDHMS(born_year, born_month, born_day);
|
||||
F64 born_date_secs_since_epoch = born_date.secondsSinceEpoch();
|
||||
|
|
@ -155,7 +152,31 @@ std::string LLDateUtil::ageFromDate(const std::string& date_string,
|
|||
return LLTrans::getString("TodayOld");
|
||||
}
|
||||
|
||||
std::string LLDateUtil::ageFromDate(const std::string& date_string,
|
||||
const LLDate& now)
|
||||
{
|
||||
S32 born_month, born_day, born_year;
|
||||
S32 matched = sscanf(date_string.c_str(), "%d/%d/%d", &born_month, &born_day, &born_year);
|
||||
if (matched != 3) return "???";
|
||||
return age_from_date(born_year, born_month, born_day, now);
|
||||
}
|
||||
|
||||
std::string LLDateUtil::ageFromDate(const std::string& date_string)
|
||||
{
|
||||
return ageFromDate(date_string, LLDate::now());
|
||||
}
|
||||
|
||||
std::string LLDateUtil::ageFromDateISO(const std::string& date_string,
|
||||
const LLDate& now)
|
||||
{
|
||||
S32 born_month, born_day, born_year;
|
||||
S32 matched = sscanf(date_string.c_str(), "%d-%d-%d",
|
||||
&born_year, &born_month, &born_day);
|
||||
if (matched != 3) return "???";
|
||||
return age_from_date(born_year, born_month, born_day, now);
|
||||
}
|
||||
|
||||
std::string LLDateUtil::ageFromDateISO(const std::string& date_string)
|
||||
{
|
||||
return ageFromDateISO(date_string, LLDate::now());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,6 +44,12 @@ namespace LLDateUtil
|
|||
|
||||
// Calls the above with LLDate::now()
|
||||
std::string ageFromDate(const std::string& date_string);
|
||||
|
||||
// As above, for YYYY-MM-DD dates
|
||||
std::string ageFromDateISO(const std::string& date_string, const LLDate& now);
|
||||
|
||||
// Calls the above with LLDate::now()
|
||||
std::string ageFromDateISO(const std::string& date_string);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -189,4 +189,14 @@ namespace tut
|
|||
LLDateUtil::ageFromDate("12/13/2009", now),
|
||||
"3 weeks old" );
|
||||
}
|
||||
|
||||
template<> template<>
|
||||
void dateutil_object_t::test<6>()
|
||||
{
|
||||
set_test_name("ISO dates");
|
||||
LLDate now(std::string("2010-01-04T12:00:00Z"));
|
||||
ensure_equals("days",
|
||||
LLDateUtil::ageFromDateISO("2009-12-13", now),
|
||||
"3 weeks old" );
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue