示例#1
0
        public string ConvertTime(string aTime)
        {
            // we cannot use TimeSpan because we need to support time format 24:00:00 which is not equal to 00:00:00
            if (!timeParser.TryParse(aTime, out var time))
            {
                throw new FormatException($"Provided time '{aTime}' has incorrect format. Should be '{timeParser.TimeFormat}'");
            }

            return(string.Join(separator, converters.Select(c => c.Convert(time))));
        }
        public string ConvertTime(string aTime)
        {
            TimeSpan time;

            if (!timeParser.TryParse(aTime, out time))
            {
                throw new ArgumentException("Wrong format for aTime");
            }

            var retval = clockBuilder.GetClock().GetStringRepresentation(time);

            return(retval);
        }
        public BerlinTimeModel GetTime(string inputTime)
        {
            if (!timeParser.TryParse(inputTime, out var timeModel))
            {
                throw new ArgumentException(BerlinClockResource.InvalidArgumentError);
            }

            var secondSet   = timeModel.Seconds % 2 == 0;
            var fiveHours   = new BitArray(DefaultSignalsPerRow).SetBits(timeModel.Hours / 5);
            var hours       = new BitArray(DefaultSignalsPerRow).SetBits(timeModel.Hours % 5);
            var fiveMinutes = new BitArray(MinuteSignalsPerRow).SetBits(timeModel.Minutes / 5);
            var minutes     = new BitArray(DefaultSignalsPerRow).SetBits(timeModel.Minutes % 5);

            var berlinTimeModel = new BerlinTimeModel(
                secondSet,
                fiveHours,
                hours,
                fiveMinutes,
                minutes);

            return(berlinTimeModel);
        }