>在C#>
中显示相对时间>本文演示了如何从c#中给定DateTime
的值显示相对时间(例如,“ 2小时前”,“一个月前”)。
DateTime
之间的差异
此功能,
,将A<code class="language-csharp">const int SECOND = 1; const int MINUTE = 60 * SECOND; const int HOUR = 60 * MINUTE; const int DAY = 24 * HOUR; const int MONTH = 30 * DAY; public static string GetRelativeTime(DateTime yourDate) { TimeSpan ts = DateTime.UtcNow - yourDate; double delta = Math.Abs(ts.TotalSeconds); if (delta < 60) { return $"{Math.Round(delta)} seconds ago"; } else if (delta < 3600) { return $"{Math.Round(delta / MINUTE)} minutes ago"; } else if (delta < 86400) { return $"{Math.Round(delta / HOUR)} hours ago"; } else if (delta < 2592000) // 30 days { return $"{Math.Round(delta / DAY)} days ago"; } else { return $"{Math.Round(delta / MONTH)} months ago"; } }</code>作为输入,并返回表示相对时间的字符串。 它处理几秒钟,几分钟,小时,天和几个月。 您可以轻松地将其扩展到包括年或其他时间单元。
的使用提供了更干净的输出。 切记将GetRelativeTime
替换为您的实际DateTime
变量。 此方法使用Math.Round
。 对于时间计算,通常首选使用UTC来避免与时区有关的模棱两可。
以上是如何在C#中的DateTime显示相对时间(例如,' 2小时前”)?的详细内容。更多信息请关注PHP中文网其他相关文章!