提取时间字符串的分钟部分

时间:2019-01-30 06:00:05

标签: c# trim

如何修剪时间字符串中的所有冒号以及小时和秒?我想从00:15:27(15)中获取唯一的总分钟数。你能帮我吗?我的代码仅修剪一个冒号,如何修剪所有冒号并删除秒数以获取分钟数?

enter image description here

string s = label11.Text = "00:15:27";
s= label11.Text.Trim(':','0');

3 个答案:

答案 0 :(得分:1)

为什么不将字符串转换为时间并获取所需的分钟数呢?

  string s =  "00:15:27";
  DateTime Time = DateTime.ParseExact(s, "HH:mm:ss",CultureInfo.InvariantCulture);
  var minutes = s.Minute;

您将有时间。

像您在评论中所说的那样

var hours = s.Hour;
hoursTominutes = hours * 60 ;
var Totalminutes = hoursTominutes + minutes ; 

答案 1 :(得分:0)

您似乎正在尝试从字符串中获取分钟成分,因此最好将字符串解析为TimeSpan,然后检索其分钟成分,例如

string s = "00:15:27";

int minute = 0;
TimeSpan ts;

if (TimeSpan.TryParse(s, out ts))
{
    minute = ts.Minutes;
}
else
{
    //Your string is not in proper time format
}

Console.WriteLine("Minute:" + minute);
Console.ReadLine();

输出:

enter image description here

编辑:

如果要从字符串中获取小时,分钟和秒的分量,则

string s = "01:15:27";

int hours = 0;
int minutes = 0;
int seconds = 0;
TimeSpan ts;

if (TimeSpan.TryParse(s, out ts))
{
    hours = ts.Hours;
    minutes = ts.Minutes;
    seconds = ts.Seconds;
}
else
{
    //Your string is not in time format
}

Console.WriteLine("Hours:" + hours);
Console.WriteLine("Minutes:" + minutes);
Console.WriteLine("Seconds:" + seconds);
Console.ReadLine();

输出:

enter image description here

答案 2 :(得分:0)

我同意Haroon nasir的观点,那就是解析时间跨度。

但是,有一种更简单的方法来获取总分钟数:TimeSpan中具有“ TotalMinutes”属性。

TimeSpan.Parse(timeAsString, out Timespan parsedTime);
double minutes = parsedTime.TotalMinutes;

将其用于1:15:27将产生75.45分钟,而无需执行任何其他步骤