I J'ai un fuseau horaire d'un utilisateur qui doit être converti en nombre total de minutes pour être stocké dans la base de données. J'ai le code suivant et il semble très moche. Je suis nouveau à C# et je me demandais s'il y avait une meilleure façon de le faire.Validation d'une chaîne de fuseau horaire et retour sous forme de minutes
string tz = userList.Rows[0][1].ToString().Trim();
//Timezones can take the form of + or - followed by hour and then minutes in 15 minute increments.
Match tzre = new Regex(@"^(\+|-)?(0?[0-9]|1[0-2])(00|15|30|45)$").Match(tz);
if (!tzre.success)
{
throw new
myException("Row 1, column 2 of the CSV file to be imported must be a valid timezone: " + tz);
}
GroupCollection tzg = tzre.Groups;
tz = Convert.ToInt32(tzg[0].Value + Convert.ToString(Convert.ToInt32(tzg[1].Value) * 60 + Convert.ToInt32(tzg[2]))).ToString();
Après quelques recherches, j'ai trouvé TimeSpan. – kzh
Vous savez est une valeur DateTime pour les bases de données (et le stocker comme UTC). Peut-être mieux alors stocker les minutes – RvdK
Pouvez-vous donner un exemple de ce qui est dans userList.Rows [0] [1] .ToString()? – GenericTypeTea