1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
namespace hyprwatch.Time
{
using System;
public class TimeOperations
{
public static string TimeDifference(string a, string b)
{
int hr = int.Parse(b.Substring(0, 2)) - int.Parse(a.Substring(0, 2));
int mn = int.Parse(b.Substring(3, 2)) - int.Parse(a.Substring(3, 2));
int sec = int.Parse(b.Substring(6, 2)) - int.Parse(a.Substring(6, 2));
if (mn < 0 && sec < 0)
{
hr -= 1;
mn += 60 - 1;
sec += 60;
if (hr < 0) hr += 24;
}
else if (mn < 0 && sec >= 0)
{
hr -= 1;
mn += 60;
if (hr < 0) hr += 24;
}
else if (sec < 0 && mn > 0)
{
sec += 60;
mn -= 1;
if (hr < 0) hr += 24;
}
else if (sec < 0 && mn == 0)
{
hr -= 1;
mn = 59;
sec += 60;
}
return $"{hr:D2}:{mn:D2}:{sec:D2}";
}
public static string TimeAddition(string a, string b)
{
int hr = int.Parse(b.Substring(0, 2)) + int.Parse(a.Substring(0, 2));
int mn = int.Parse(b.Substring(3, 2)) + int.Parse(a.Substring(3, 2));
int sec = int.Parse(b.Substring(6, 2)) + int.Parse(a.Substring(6, 2));
if (mn >= 60 && sec >= 60)
{
hr += 1;
mn = mn - 60 + 1;
sec -= 60;
}
else if (mn >= 60)
{
hr += 1;
mn -= 60;
}
else if (sec >= 60)
{
mn += 1;
sec -= 60;
}
return $"{hr:D2}:{mn:D2}:{sec:D2}";
}
public static string FormatTime(string t)
{
return $"{t.Substring(0, 2)}h {t.Substring(3, 2)}m {t.Substring(6)}s";
}
public static int ConvertIntoSec(string t)
{
int hr = int.Parse(t.Substring(0, 2));
int mn = int.Parse(t.Substring(3, 2));
int sec = int.Parse(t.Substring(6));
return hr * 3600 + mn * 60 + sec;
}
public static string Convert(int sec)
{
sec %= 24 * 3600;
int hr = sec / 3600;
sec %= 3600;
int mn = sec / 60;
sec %= 60;
return $"{hr:D2}:{mn:D2}:{sec:D2}";
}
}
}
|