calcularTiempoRestante static method
Funcion utilizada para calcular el tiempo faltante para llegar a un destino
dada una velocidad y una distancia donde la velocidad esta en km/h y la
distancia en km
el parametro retornoEn es el tipo de CalculaDiferencia y representa
que se quiere obtener ejempo: minutos, horas, etc...
si no se pasas nada a retornoEn se devuelve en minutos
Implementation
static int calcularTiempoRestante(
{required double velocidadKmh,
required double distanciaKm,
CalculaDiferencia? retornoEn}) {
// Calcular el tiempo necesario en horas
double tiempoHoras = distanciaKm / velocidadKmh;
final tiempo = Duration(minutes: (tiempoHoras * 60).round());
// aca se analiza el valor que se quiere obtener
switch (retornoEn) {
case CalculaDiferencia.inMiliseconds:
return tiempo.inMilliseconds.abs();
case CalculaDiferencia.inSeconds:
return tiempo.inSeconds.abs();
case CalculaDiferencia.inMinutes:
return tiempo.inMinutes.abs();
case CalculaDiferencia.inHours:
return tiempo.inHours.abs();
case CalculaDiferencia.inDays:
return tiempo.inDays.abs();
case CalculaDiferencia.inWeeks:
return tiempo.inDays.abs() ~/ 7;
case CalculaDiferencia.inMonths:
return tiempo.inDays.abs() ~/ 30;
case CalculaDiferencia.inYears:
return tiempo.inDays.abs() ~/ 365;
default:
return tiempo.inMinutes.abs();
}
}