diff options
| author | DemonKingSwarn <rockingswarn@gmail.com> | 2025-01-25 18:29:18 +0530 |
|---|---|---|
| committer | DemonKingSwarn <rockingswarn@gmail.com> | 2025-01-25 18:29:18 +0530 |
| commit | e9a36d9a3cc50105ade148e0f8a286f89ac0c4df (patch) | |
| tree | e546efe1daf970f467d3040e3818e528600bd05c /src/TimeOperations.cs | |
| download | hypr-wellbeing-e9a36d9a3cc50105ade148e0f8a286f89ac0c4df.zip hypr-wellbeing-e9a36d9a3cc50105ade148e0f8a286f89ac0c4df.tar.gz | |
chore: main logger done
Diffstat (limited to 'src/TimeOperations.cs')
| -rw-r--r-- | src/TimeOperations.cs | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/src/TimeOperations.cs b/src/TimeOperations.cs new file mode 100644 index 0000000..2bd3fc9 --- /dev/null +++ b/src/TimeOperations.cs @@ -0,0 +1,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}"; + } + } +} + |
