HoraTimezone.parse constructor

HoraTimezone.parse(
  1. String input
)

Parses a timezone string like "+05:30" or "-08:00".

Implementation

factory HoraTimezone.parse(String input) {
  final pattern = RegExp(r'^([+-]?)(\d{1,2}):?(\d{2})?$');
  final match = pattern.firstMatch(input.trim());
  if (match == null) {
    throw FormatException('Invalid timezone format: $input');
  }

  final sign = match.group(1) == '-' ? -1 : 1;
  final hours = int.parse(match.group(2)!) * sign;
  final minutes = match.group(3) != null ? int.parse(match.group(3)!) : 0;

  return HoraTimezone.fromOffset(hours, minutes);
}