c# - 使用 JQuery Timeago 显示日期时间

标签 c# jquery asp.net asp.net-mvc timeago

我正在尝试使用 timeago 插件显示我的日期。这是我到目前为止所拥有的:

<div class="container col-lg-12 col-md-12 col-xs-12 notifications-container">
@{
    foreach (var n in Model.Notifications)
    {
        <div class="row">
            <a href="@n.URL">
                 <div class="container col-lg-8 col-md-10 col-xs-12">
                    <h2>@n.Title</h2>
                    <h5>@n.ShortDescription</h5>
                    <h5 id="date-time"></h5>
                    <h5>
                        <time class="timeago" datetime="@n.Time.ToString("s", System.Globalization.CultureInfo.InvariantCulture)"> @n.Time </time>
                    </h5>
                    <script>

                        $(document).ready(function () {
                            $("time.timeago").timeago();
                        });
                    </script>
                </div>
            </a>
        </div>
    }
}

它没有转换我的日期时间,不确定我是否需要更改它的格式以便 timeago 可以使用它。

更新:我以这种方式工作,并且在这种情况下传递的 DateTime 类型为 UTC.Now

有一个错误我尚未修复,该错误显示所有条目都是大约一小时前创建的,尽管其中一些条目是几秒钟前的。

最佳答案

我们需要添加作为解决方法添加到您的项目中,因为 仅适用于 ISO 8601 格式的日期:

您需要更改此设置:

<h5 id="date-time">@n.Time</h5>

对此:

<h5 class="date-time">
 <time class="timeago" datetime="">@n.Time</time>
</h5>

还有你的 javascript 代码:

$(document).ready(function() {
  var dateAux;
  $(".timeago").each(function(i,item){
      dateAux = moment($(item).html(),'DD-MM-YYYY hh:mm:ss');
      $(item).attr('datetime',dateAux.toISOString());
  })  
  $("time.timeago").timeago();
});

工作 fiddle :https://jsfiddle.net/jn233dk4/1/

关于c# - 使用 JQuery Timeago 显示日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43457281/

相关文章:

asp.net - MVC 3 System.Web.Optimization bundle 单个文件

c# - 确定 ExpandoObject 中的对象类型

c# - 除了ICMP(Ping)以外,如何从LAN控制计算机是否处于打开状态?

c# - 具体类型*可能*是一次性的时的多态性

javascript - 如何通过双击将一个词作为网页的输入?

jquery - 从 jquery 访问内容页面元素

c# - 获取元素页码

javascript - 修复了具有两种不同状态的导航栏

javascript - 使用javascript计算时间差时面临NaN结果

c# - 如何使自定义用户声明在 API 请求中可用