我正在尝试使用 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
有一个错误我尚未修复,该错误显示所有条目都是大约一小时前创建的,尽管其中一些条目是几秒钟前的。
最佳答案
我们需要添加momentjs作为解决方法添加到您的项目中,因为 timeago仅适用于 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/