aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.ServiceViewer/Data/Extensions
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2025-12-12 08:56:32 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2025-12-12 10:24:53 +0100
commitd65ce8288bbda3cb6e0b37613c29d7bf52703ba7 (patch)
treef6aaf58bbebeaa9b147e895ff8a5388881fa51d8 /src/Costasdev.Busurbano.ServiceViewer/Data/Extensions
parent661cccc2da9a6c32b7b56c60313787282a9084ea (diff)
Some rework on the ServiceViewer (which will be repurposed for live multi-GTFS serving)
Diffstat (limited to 'src/Costasdev.Busurbano.ServiceViewer/Data/Extensions')
-rw-r--r--src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs b/src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs
new file mode 100644
index 0000000..7fa487d
--- /dev/null
+++ b/src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs
@@ -0,0 +1,20 @@
+namespace Costasdev.ServiceViewer.Data.Extensions;
+
+public static class TimeExtensions
+{
+ extension(TimeSpan) {
+ public static TimeSpan FromGtfsTime(string gtfsTime)
+ {
+ var parts = gtfsTime.Split(":", 3);
+
+ var hours = int.Parse(parts[0]);
+ var minutes = int.Parse(parts[1]);
+ var seconds = int.Parse(parts[2]);
+
+ int days = hours / 24;
+ int leftoverHours = hours % 24;
+
+ return new TimeSpan(days, leftoverHours, minutes, seconds);
+ }
+ }
+}