c# - 将 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天前”之类的东西。谢谢。
解决方案
您可以自己实现它,也可以使用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"
推荐阅读
- spring - Spring Boot:每次重建应用程序时执行较新版本的 SQL 文件
- .net - 如何防止 RabbitMQ 命名线程?
- rest - 查询“https://api.linkedin.com/v2/shares?q=owners&owners=urn:li:organization:...”是否需要“营销开发者平台”?
- postgresql - 无法从 Docker 连接到 postgres
- ssl - 使用 MQTT libmosquitto C SDK 连接到 Azure IoT 中心
- android - MediaMetadataRetriever 在存在旋转元数据的情况下转置视频的宽度和高度
- c - 用户模式应用程序调用 open() 导致 oops
- c++ - googlemock 如何在测试中使用模拟
- mysql - Pentaho 8.3 版本 Start_Date 中的更改数据捕获,用于第二次执行
- java - 在 servlet 中启用 CORS