首页 > 解决方案 > 将 DateTime.Now 转换为时间前 C#

问题描述

我正在开发简单的 asp.net mvc 网站,显示用户的帖子。我将帖子详细信息保存在数据库中,包括上传日期。

DateTime dateTimeNow = DateTime.Now;
newPost.Feed_Upload_Date = dateTimeNow;
DB.Post.Add(newPost);
DB.SaveChanges();

现在在我的视图中,当我显示日期时,它会显示类似这样的内容

“2019 年 1 月 21 日下午 4:29:58”

我想要实现的是将我的数据库中的这个时间转换为“1天前”之类的东西。谢谢。

标签: c#date

解决方案


您可以自己实现它,也可以使用Humanizer库:

DateTime.UtcNow.AddHours(-30).Humanize() => "yesterday"
DateTime.UtcNow.AddHours(-2).Humanize() => "2 hours ago"
DateTime.UtcNow.AddHours(30).Humanize() => "tomorrow"
DateTime.UtcNow.AddHours(2).Humanize() => "2 hours from now"
DateTimeOffset.UtcNow.AddHours(1).Humanize() => "an hour from now"

推荐阅读