0

我想计算现在时间的检查时间并获取时间。

例如,我有一个字符串“时间”......

string t1 = UserParam[12].ToString(); // "9/26"
string t2 = UserParam[13].ToString(); // "14:51\r"

我在我的项目中需要它们,我从许可证服务器获取用户的时间,我想展示到现在的差异。我想在几个小时内显示这个。

我想要一个时间 ---> 1 小时 49 分钟

4

3 回答 3

3

我假设t1是月份和日期,t2是小时和分钟。

您可以使用DateTime.ParseExact

string t1 = "9/26";
string t2 = "14:51";
DateTime dt = DateTime.ParseExact(string.Format("{0} {1}", t1, t2), "M/dd HH:mm", CultureInfo.InvariantCulture);
TimeSpan diff = DateTime.Now - dt;
double totalHours = diff.TotalHours;  // 0.726172292194444

编辑

我收到一个错误 --> 格式不正确

可能是因为您在字符串末尾有不需要的字符,如"14:51\r". 您可以使用TrimTrimEnd删除它们。例如:

string t2 = UserParam[13].ToString().TrimEnd(new []{ '\r', '\n' }); // 14:51
于 2013-09-26T13:34:16.420 回答
0

您可以使用DateTime.Subtract来计算日期和时间之间的差异:

string date = "9/26 14:51";
DateTime dt = DateTime.ParseExact(date, "M/dd HH:mm", CultureInfo.InvariantCulture);
TimeSpan diff = DateTime.Now.Subtract(dt);
于 2013-09-26T13:34:54.803 回答
0

你会想要你的时间在DateTime结构中。如果字符串中有时间戳信息,则应DateTime.TryParse使用DateTime. 但是,如果您在字符串中有时间戳,那么在样式参数( )中指定时区信息将很重要。DateTimeStyles

然后您可以TimeSpan通过减去两个结构来获取 make aDateTime并使用该TotalHours属性

(dt1 - dt2).TotalHours
于 2013-09-26T13:36:15.800 回答