I have two dates first is nowDate {12/20/2014 5:19:31 PM}
and second is messageTime {12/20/2014 1:14:12 PM}
I want to Compare these dates and calculate the result and show to user,It calculate the time difference between now time and message date My Code is
// Last Message Time
DateTime messageTime = Convert.ToDateTime(lastMessageTime);
int msgYear = messageTime.Year;
int msgMonth = messageTime.Month;
int msgDay = messageTime.Day;
int msgHour = messageTime.Hour;
int msgMinute = messageTime.Minute;
//Current Date Time
DateTime nowDate = DateTime.Now;
// TimeSpan difference = nowDate.Subtract(messageTime);
int nowYear = nowDate.Year;
int nowMonth = nowDate.Month;
int nowDay = nowDate.Day;
int nowHour = nowDate.Hour;
int nowMinute = nowDate.Minute;
if (msgYear == nowYear)
{
if (msgMonth == nowMonth)
{
if (msgDay == nowDay)
{
if (msgHour == nowHour)
{
if (msgMinute == nowMinute)
{
lastMessageTime = "Just Now";
}
else
{
if (nowMinute - msgMinute == 1)
lastMessageTime = "1 minute ago";
else
lastMessageTime = nowMinute - msgMinute + " minutes ago";
}
}
else
{
if (nowHour - msgHour == 1)
lastMessageTime = "1 hour ago";
else
lastMessageTime = nowHour - msgHour + " hours ago";
}
}
else
{
if (nowDay - msgDay == 1)
lastMessageTime = "1 Day ago";
else
lastMessageTime = nowDay - msgDay + " days ago";
}
}
else
{
if (nowMonth - msgMonth == 1)
lastMessageTime = "1 month ago";
else
lastMessageTime = nowMonth - msgMonth + " months ago";
}
}
else
{
if (nowYear - msgYear == 1)
lastMessageTime = "1 year ago";
else
lastMessageTime = nowYear - msgYear + " years ago";
}
But problem with this code. Suppose last message time is 12/20/2014 05:59:31 PM
and current time is 12/20/2014 06:00:31 PM
it displays result as 1 hour ago
but the actual difference is 1 minute and something, please help someone