Cześć, Napisałem prostą funkcję która konwertuje czas na np 1 godzinę temu itd. Mam problem jesli chodzi o 7 dni
Gdy powinno wypisać 7 dni temu wypisuje mi pełną date nie wiem czemu :(
private const uint SECOND = 1;
private const uint MINUTE = 60 * SECOND;
private const uint HOUR = 60 * MINUTE;
private const uint DAY = 24 * HOUR;
private const uint WEEK = 7 * DAY;
if(delta < DAY)
{
if(ts.Hours == 1)
{
return "godzinę temu";
}
else if(ts.Hours <= 4)
{
return ts.Hours + " godziny temu";
}
else
{
return ts.Hours + " godzin temu";
}
}
if(delta <= WEEK)
{
if(ts.Days == 1)
{
return "wczoraj";
}
else
{
return ts.Days + " dni temu";
}
}
var item = new DateTime(2019, 8, 23);
var item1 = new DateTime(2019, 8, 25, 10, 54, 0);
var item2 = new DateTime(2019, 8, 25, 14, 54, 0);
var item4 = new DateTime(2019, 8, 24, 14, 54, 0);
//Ten test nie działa
var item3 = new DateTime(2019, 8, 18, 19, 0, 0);
var result = ConvertDate.ConvertRelativeDate(item);
var result1 = ConvertDate.ConvertRelativeDate(item1);
var result2 = ConvertDate.ConvertRelativeDate(item2);
var result4 = ConvertDate.ConvertRelativeDate(item4);
//Nie działa
var result3 = ConvertDate.ConvertRelativeDate(item3);
Assert.AreEqual("2 dni temu", result);
Assert.AreEqual("8 godzin temu", result1);
Assert.AreEqual("4 godziny temu", result2);
Assert.AreEqual("wczoraj", result4);
//Nie działa
Assert.AreEqual("7 dni temu", result3);