timeZoneConvert static method

DateTime timeZoneConvert(
  1. DateTime dateTime,
  2. String tzid
)

Implementation

static DateTime timeZoneConvert(DateTime dateTime, String tzid) {
  switch (tzid) {
    case 'Etc/GMT+12':
      return dateTime.add(Duration(hours: -12));
    case 'Pacific/Midway':
      return dateTime.add(Duration(hours: -11));
    case 'Pacific/Honolulu':
      return dateTime.add(Duration(hours: -10));
    case 'America/Juneau':
      return dateTime.add(Duration(hours: -9));
    case 'America/Los_Angeles':
      return dateTime.add(Duration(hours: -8));
    case 'America/Phoenix':
      return dateTime.add(Duration(hours: -7));
    case 'America/Denver':
      return dateTime.add(Duration(hours: -7));
    case 'America/Chicago':
      return dateTime.add(Duration(hours: -6));
    case 'America/New_York':
      return dateTime.add(Duration(hours: -5));
    case 'America/Argentina/Buenos_Aires':
      return dateTime.add(Duration(hours: -3));
    case 'America/Sao_Paulo':
      return dateTime.add(Duration(hours: -3));
    case 'Atlantic/South_Georgia':
      return dateTime.add(Duration(hours: -2));
    case 'Atlantic/Azores':
      return dateTime.add(Duration(hours: -1));
    case 'Europe/London':
      return dateTime.add(Duration(hours: 0));
    case 'Europe/Paris':
      return dateTime.add(Duration(hours: 1));
    case 'Europe/Moscow':
      return dateTime.add(Duration(hours: 3));
    case 'Asia/Dubai':
      return dateTime.add(Duration(hours: 4));
    case 'Asia/Kolkata':
      return dateTime.add(Duration(hours: 5, minutes: 30));
    case 'Asia/Hong_Kong':
      return dateTime.add(Duration(hours: 8));
    case 'Asia/Tokyo':
      return dateTime.add(Duration(hours: 9));
    case 'Australia/Sydney':
      return dateTime.add(Duration(hours: 10));
    case 'Pacific/Fiji':
      return dateTime.add(Duration(hours: 12));
    case 'Pacific/Auckland':
      return dateTime.add(Duration(hours: 12));
    case 'America/Toronto':
      return dateTime.add(Duration(hours: -5));
    case 'DATE':
      return dateTime;

    default:
      throw Exception('Invalid Time Zone');
  }
}