【问题标题】:How can I convert come string timespan variable from Wcf to hours and minutes?如何将字符串时间跨度变量从 Wcf 转换为小时和分钟?
【发布时间】:2015-08-17 05:50:01
【问题描述】:

我有来自 wcf 的变量,通过 http 调用 javascript 就像“P18DT5H”

C#:

param.time = new TimeSpan(18, 5, 0, 0);

我想转换小时和分钟?我应该使用正则表达式吗?

【问题讨论】:

  • 你还有一些测试用例吗?此外,请定义一下格式
  • 这真的和javascript有关系吗?
  • 在 js 中我有这个字符串。我必须在 2 文本框中显示小时和分钟。所以需要解析或其他任何东西。
  • 我找到了一种方法:stackoverflow.com/questions/32044929/…

标签: javascript c# timespan


【解决方案1】:

你可以使用ParseExact:

string span = "P18DT5H";

IFormatProvider formatProvider = System.Globalization.CultureInfo.InvariantCulture;
TimeSpan timeSpan = TimeSpan.ParseExact(span, "'P'd'DT'h'H'", formatProvider);

int hours = (int)Math.Floor(timeSpan.TotalHours);
int minutes = (int)Math.Round(timeSpan.Subtract(new TimeSpan(hours, 0, 0)).TotalMinutes, 0, MidpointRounding.AwayFromZero);

Console.WriteLine("{0} hours, {1} minutes", hours, minutes);

它将立即返回您的示例:

437 hours, 0 minutes

【讨论】:

  • 但是我应该在js部分做这个操作。因为字符串形式不是在 c# 中创建的。从 wcf 服务返回后在 js 部分。
猜你喜欢
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 2020-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多