Asp.net mvc 如何在ASP.NET MVC应用程序上获取时间戳
在web应用程序上,您通常会看到类似“上次登录:3小时42分钟前”的内容。做这件事最好的方法是什么。?使用字符串还是日期?另外,我将把时间戳带回剑道MVC网格。这个专栏看起来是这样的Asp.net mvc 如何在ASP.NET MVC应用程序上获取时间戳,asp.net-mvc,linq,kendo-grid,Asp.net Mvc,Linq,Kendo Grid,在web应用程序上,您通常会看到类似“上次登录:3小时42分钟前”的内容。做这件事最好的方法是什么。?使用字符串还是日期?另外,我将把时间戳带回剑道MVC网格。这个专栏看起来是这样的 columns.Bound(c => c.LastStatusDateDiff).Title("Updated"); 我的Linq代码看起来是这样的 select new ATSReDto { CreatedDate = atsr.Cr
columns.Bound(c => c.LastStatusDateDiff).Title("Updated");
我的Linq代码看起来是这样的
select new ATSReDto
{
CreatedDate = atsr.CreatedDt,
Desciption = atsr.Description,
LastStatusDateDiff = laststatus.CreatedDt - DateTime.Now
// get date difference between now "DateTime.Now" and
// date/time pulled from SQL Server to display in Grid
};
非常感谢您的任何建议
TimeSpan diff=Math.Abs(dateTime1-dateTime2)代码>
设置TimeSpan值的格式
TimeSpan值可以表示为[-]d.hh:mm:ss.ff,其中可选的减号表示负时间间隔,d分量表示天,hh表示24小时时钟上测量的小时,mm表示分钟,ss表示秒,ff表示秒的分数。也就是说,时间间隔由没有时间的正天数或负天数、有时间的天数或只有时间的天数组成
ToString(String)重载允许您指定定义时间间隔的字符串表示形式的格式字符串。TimeSpan.ToString(字符串, IFormatProvider)重载用于指定格式字符串和区域性,其格式约定用于创建时间间隔的字符串表示形式。TimeSpan支持标准格式字符串和自定义格式字符串。(有关详细信息,请参阅和。)但是,只有标准格式字符串是区域性敏感的
我不熟悉剑道,但jQuery为此提供了一个名为TimeAgo的插件:
jQuery(document).ready(function() {
jQuery("time.timeago").timeago();
});
文档:插件:
编辑
显然,您可以使用剑道标记razor控制器,如下所示:
<abbr class="timeago" title="@Model.LastActivityDateString">@Model.LastActivityDateString</abbr>
jQuery(document).ready(function() {
jQuery(".timeago").timeago();
});
注意:您只是返回事件的日期,没有得到代码显示的差异
您的脚本将使用如下Javascript进行初始化:
<abbr class="timeago" title="@Model.LastActivityDateString">@Model.LastActivityDateString</abbr>
jQuery(document).ready(function() {
jQuery(".timeago").timeago();
});
由于它与剑道UI相关,因此可以在ViewModel类中添加只读属性
public class ViewModel
{
public DateTime LastStatus { get; set; }
public string LastStatusText
{
get
{
var span = DateTime.Now - LastStatus;
return string.Format("Last Logged in : {0} days {1} hours {2} minutes ago",
span.Days, span.Hours, span.Minutes);
}
}
}
用法
columns.Bound(c => c.LastStatusText).Title("Updated");
真的很难打败,不确定用剑道网格实现有多容易,但强烈推荐。很容易支持区域时间。你必须支持多个时区吗?非常好的答案。这正是我想要的。谢谢