0 c# datetime timespan calculation
我需要在 C# 中计算一个操作的通过时间和剩余时间。我以 HH:MM:SS 的字符串格式保存了操作的开始
我有一个 HH:MM:SS 字符串格式的默认操作时间长度
现在我想计算:
两个结果将彼此相邻显示。我知道我必须将字符串值转换为 DateTime 和/或 TimeSpan 值才能进行计算,但目前我不知道如何计算,因为例如第一个操作不会给我一个负值,但只是及时返回 [昨天 22:30:00]。
尝试这个..
var start = "17:05:11"; // Pass this as a parameter
var startTime = DateTime.Parse(start);
var defaultDuration = TimeSpan.FromMinutes(2);
TimeSpan operationDuration = startTime - DateTime.Now;
TimeSpan diff = defaultDuration - operationDuration;
if (operationDuration > defaultDuration)
{
Console.Out.WriteLine($"+{diff.Hours}:{diff.Minutes}:{diff.Seconds}");
}
else
{
Console.Out.WriteLine($"-{diff.Hours}:{diff.Minutes}:{diff.Seconds}");
Console.Out.WriteLine($"{diff.Hours},{Math.Round(((double)(diff.Minutes * 100 / 60)),0, MidpointRounding.AwayFromZero)}");//example: 3hours and 30 minutes should be displayed as 3,5
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8778 次 |
| 最近记录: |