Как насчет этого ....
Я использовал это, чтобы пройти через набор записей (строки в файле Excel в одном случае)
L - текущая строка число X - это общее количество строк, для которых dat_Start имеет значение Now (), когда начинается процедура
Debug.Print Format((L / X), "percent") & vbTab & "Time to go:" & vbTab & Format((DateDiff("n", dat_Start, Now) / L) * (X - L), "00") & ":" & Format(((DateDiff("s", dat_Start, Now) / L) * (X - L)) Mod 60, "00")
Это похоже на временную шкалу. Так просто разбери текст и получи секунды.
string time = "00:01:05";
double seconds = TimeSpan.Parse(time).TotalSeconds;
Вы можете использовать метод разбора на aTimeSpan.
http://msdn.microsoft.com/en-us/library/system.timespan.parse.aspx
TimeSpan ts = TimeSpan.Parse( "10:20:30" );
double totalSeconds = ts.TotalSeconds;
Свойство TotalSeconds возвращает общее количество секунд, если вы просто хотите секунд, затем используйте свойство секунд
int seconds = ts.Seconds;
Секунды возвращают «30». TotalSeconds возвращают 10 * 3600 + 20 * 60 + 30
TimeSpan.Parse () проанализирует отформатированную строку.
Так
TimeSpan.Parse("03:33:12").TotalSeconds;
Этот код позволяет часам и минутам быть необязательными. Например,
«30» -> 24 секунды
«1:30» -> 90 секунд
«1: 1: 30» -> 3690 секунд
int[] ssmmhh = {0,0,0};
var hhmmss = time.Split(':');
var reversed = hhmmss.Reverse();
int i = 0;
reversed.ToList().ForEach(x=> ssmmhh[i++] = int.Parse(x));
var seconds = (int)(new TimeSpan(ssmmhh[2], ssmmhh[1], ssmmhh[0])).TotalSeconds;
//Added code to handle invalid strings
string time = null; //"";//"1:31:00";
string rv = "0";
TimeSpan result;
if(TimeSpan.TryParse(time, out result))
{
rv = result.TotalSeconds.ToString();
}
retrun rv;