0

我对日期时间转换有点困惑

在我的模型中我定义了

    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。

4

2 回答 2

3

只需返回TimeSpan并调用.ToString("hh:mm")

时间跨度.ToString

public TimeSpan ResponseTime { get; set; }

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

显示时...

value.ResponseTime.ToString("hh:mm")
于 2012-10-24T21:23:52.653 回答
1

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

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

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

string ResponseTimeDisplay = ResponseTimeSpan.ToString();
于 2012-10-24T21:23:45.217 回答