使用 JQuery Timeago 显示的日期时间

Datetime displayed using JQuery 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

类型

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

我们需要添加 to your project as a workaround, because, 仅适用于 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/