【发布时间】:2019-12-23 05:22:10
【问题描述】:
我有一个 API 可以接受时区偏移作为字符串。我需要将时区转换为 TimeSpan 并将时间跨度添加到我拥有的 UTC 数据中。这是我正在尝试的。
private bool TryGetHrAndMinFromTimeZone(string timeZone, out TimeSpan result)
{
try
{
var isPositive = !timeZone.StartsWith("-");
var hrAndMin = string.Concat(timeZone.Where(x => x != '-' && x != '+')).Split(':');
var hr = int.Parse(hrAndMin[0]);
var min = int.Parse(hrAndMin[1]);
result = isPositive ? new TimeSpan(hr, min, 0) : new TimeSpan(-hr, -min, 0);
return true;
}
catch (Exception)
{
throw new Exception(string.Format("Provided TimeZone '{0}' is Invalid ", timeZone));
}
}
有没有更好的选择?
【问题讨论】:
-
嘿,试试这个 --> TimeSpan.TryParse("-07:00", out TimeSpan ts)