Я использую ниже код для расчета отметки времени для уведомлений в моноточе. dateAdded
параметр DateTime
, исходящий от сервера в качестве оповещения. Время, которое находится в UTC
формате. Но «время», то есть TimeSpan is getting negative sometimes because
dateAdded value is getting greater than
DateTime.UtcNow`, что неверно. Итак, как решить эту проблему в monotouch.Дата выпуска выпуска в ios/monotouch
Код:
public static string GetTimeStamp (this DateTime dateAdded) {
TimeSpan time = DateTime.UtcNow - dateAdded;
if (time.TotalDays > 7)
return string.Format ("on {0}", dateAdded.ToLocalTime().ToString ("MMM dd, yyyy 'at' hh:mm tt"));
if (time.TotalHours > 24)
return string.Format ("about {0} day{1} ago", time.Days, time.Days == 1 ? "" : "s");
if (time.TotalMinutes > 60)
return string.Format ("about {0} hour{1} ago", time.Hours, time.Hours == 1 ? "" : "s");
if (time.TotalSeconds > 60)
return string.Format ("about {0} minute{1} ago", time.Minutes, time.Minutes == 1 ? "" : "s");
else if (time.TotalSeconds > 10)
return string.Format ("about {0} second{1} ago", time.Seconds, time.Seconds == 1 ? "" : "s");
else
return "a moment ago";
}
Значение _dateadded становится больше, чем DateTime.UtcNow, что неверно _ "- я бы сначала разрешил эту проблему. – neilco