diff options
| author | Ariel Costas Guerrero <ariel@costas.dev> | 2025-12-12 08:56:32 +0100 |
|---|---|---|
| committer | Ariel Costas Guerrero <ariel@costas.dev> | 2025-12-12 10:24:53 +0100 |
| commit | d65ce8288bbda3cb6e0b37613c29d7bf52703ba7 (patch) | |
| tree | f6aaf58bbebeaa9b147e895ff8a5388881fa51d8 /src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs | |
| parent | 661cccc2da9a6c32b7b56c60313787282a9084ea (diff) | |
Some rework on the ServiceViewer (which will be repurposed for live multi-GTFS serving)
Diffstat (limited to 'src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs')
| -rw-r--r-- | src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs | 20 |
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); + } + } +} |
