【问题标题】:Convert DateTime.Now to Time ago C# [duplicate]将 DateTime.Now 转换为时间前 C# [重复]
【发布时间】:2019-06-15 15:00:25
【问题描述】:

我正在开发简单的 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


    【解决方案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"
    

    【讨论】:

    • 非常感谢您的快速回复,但是如果我像这样从我的数据库中显示日期时间,我该如何使用它.. @foreach(在 Model.PostV 中发布项目){

      @item.Feed_Upload_Date

      }
    • @item.Feed_Upload_Date.Humanize()
    • 不工作....
    • 您可能在 Razor 模板中缺少 using 语句。或者创建一个视图模型,您将使用应该显示的值来填充。
    • @Krishnakumar 我猜你必须将它与时间信息连接起来......
    猜你喜欢
    • 1970-01-01
    • 2017-07-04
    • 2018-09-12
    • 2011-05-05
    • 2014-09-10
    • 2012-07-18
    • 2017-09-11
    • 2017-06-11
    • 1970-01-01
    相关资源
    最近更新 更多