将TimeSpan.TotalMilliseconds转换为datetime并将其格式化为hour:minute

时间:2012-10-24 21:20:21

标签: c# linq date kendo-ui datetime-format

我对日期时间转换感到困惑

在我的模型中我定义了

    public DateTime? Sent { get; set; }
    public DateTime? Reply { get; set; }
    public double ResponseTime { get; set; }

在我使用的linq部分

ResponseTime = (u.Reply - u.sent).TotalMilliseconds

未格式化并显示为979809803

我想知道如何将其转换为日期时间格式,并最终将格式显示为小时:分钟,例如发送日期和日期回复之间的2:45。

2 个答案:

答案 0 :(得分:3)

只需返回TimeSpan并致电.ToString("hh:mm")

TimeSpan.ToString

public TimeSpan ResponseTime { get; set; }

//usage in LINQ
ResponseTime = (u.Reply - u.Sent)

显示时......

value.ResponseTime.ToString("hh:mm")

答案 1 :(得分:1)

从DateTime中减去DateTime会产生TimeSpan。请查看TimeSpan.ToString Method (String),了解如何自定义格式化值。

您可以将ResponseTime更改回TimeSpan并从那里更改为字符串。

TimeSpan ResponseTimeSpan = new TimeSpan(0, 0, 0, (int)ResponseTime);

string ResponseTimeDisplay = ResponseTimeSpan.ToString();