aboutsummaryrefslogtreecommitdiff
path: root/src/Costasdev.Busurbano.ServiceViewer/Data/Extensions/TimeExtensions.cs
blob: 7fa487deeef02a5a5367abda98ffcef24f802fa3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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);
        }
    }
}