时间和字符串的转换

This commit is contained in:
2025-02-27 20:18:00 +08:00
parent 9400b9e891
commit a2c69f24f2
2 changed files with 44 additions and 9 deletions

View File

@@ -43,10 +43,22 @@ namespace CapMachine.Wpf.Converts
//int second = TotalSec % 60;
//return string.Format("{0}:{1}:{2}", hour, minute, second);
////Console.WriteLine(result);
//////Console.WriteLine(result);
TimeSpan TimeInfo = TimeSpan.FromSeconds(TotalSec);
return TimeInfo.ToString();
//TimeSpan TimeInfo = TimeSpan.FromSeconds(TotalSec);
//return TimeInfo.ToString();
return ConvertSecToTimeStr(TotalSec);
}
private string ConvertSecToTimeStr(int totalSeconds)
{
int hours = totalSeconds / 3600;
int remainingSeconds = totalSeconds % 3600;
int minutes = remainingSeconds / 60;
int seconds = remainingSeconds % 60;
return $"{hours}:{minutes:D2}:{seconds:D2}";
}
/// <summary>
@@ -57,16 +69,35 @@ namespace CapMachine.Wpf.Converts
{
try
{
TimeSpan TimeInfo = TimeSpan.Parse(timeString);
return (int)TimeInfo.TotalSeconds;
//TimeSpan TimeInfo = TimeSpan.Parse(timeString);
//return (int)TimeInfo.TotalSeconds;
return ConvertTimeStrToSecs(timeString);
}
catch (Exception ex)
{
MessageBox.Show("时间格式输入不正确");
return (int)0;
}
}
public int ConvertTimeStrToSecs(string timeString)
{
string[] parts = timeString.Split(':');
if (parts.Length != 3) return 0;
//throw new FormatException("Invalid time format. Use 'hh:mm:ss'");
if (!int.TryParse(parts[0], out int hours) || hours < 0) return 0;
//throw new ArgumentException("小時必須為非負整數");
if (!int.TryParse(parts[1], out int minutes) || minutes < 0 || minutes >= 60) return 0;
//throw new ArgumentException("分鐘必須為 0-59 的整數");
if (!int.TryParse(parts[2], out int seconds) || seconds < 0 || seconds >= 60) return 0;
//throw new ArgumentException("秒必須為 0-59 的整數");
return hours * 3600 + minutes * 60 + seconds;
}
}
}

View File

@@ -15956,8 +15956,12 @@ namespace CapMachine.Wpf.ViewModels
{
try
{
TimeSpan TimeInfo = TimeSpan.FromSeconds(TotalSec);
return TimeInfo.ToString();
int hours = TotalSec / 3600;
int remainingSeconds = TotalSec % 3600;
int minutes = remainingSeconds / 60;
int seconds = remainingSeconds % 60;
return $"{hours}:{minutes:D2}:{seconds:D2}";
}
catch (Exception ex)
{