Comment faire pour arrondir les heures basés sur les Minutes(heures+0 si min<30, heures+1 sinon)?

J'ai besoin de plus pour arrondir les heures en minutes dans une variable DateTime. La condition est la suivante: si les minutes sont inférieures à 30, puis les minutes doivent être mis à zéro et aucune modification des heures, de l'autre, s'minutes >=30, les heures de travail doivent être mis à heures+1 et les minutes sont de nouveau mis à zéro. Les secondes sont ignorés.

exemple:

11/08/2008 04:30:49 devrait devenir 11/08/2008 05:00:00

et 11/08/2008 04:29:49 devrait devenir 11/08/2008 04:00:00

J'ai écrit du code qui fonctionne parfaitement bien, mais je voulais juste savoir une meilleure méthode, elle pourrait être écrite et apprécieraient également de la méthode alternative(s).

string date1 = "11/08/2008 04:30:49";
DateTime startTime;
DateTime.TryParseExact(date1, "MM/dd/yyyy HH:mm:ss", null,     
    System.Globalization.DateTimeStyles.None, out startTime);

if (Convert.ToInt32((startTime.Minute.ToString())) > 29)
{
    startTime = DateTime.Parse(string.Format("{0}/{1}/{2} {3}:{4}:{5}",
        startTime.Month.ToString(), startTime.Day.ToString(), 
        startTime.Year.ToString(), startTime.Hour.ToString(), "00", "00"));
    startTime = startTime.Add(TimeSpan.Parse("01:00:00"));
    Console.WriteLine("startTime is :: {0}", 
        startTime.ToString("MM/dd/yyyy HH:mm:ss"));
}
else
{
    startTime = DateTime.Parse(string.Format("{0}/{1}/{2} {3}:{4}:{5}", 
        startTime.Month.ToString(), 
        startTime.Day.ToString(), startTime.Year.ToString(), 
        startTime.Hour.ToString(), "00", "00"));

        Console.WriteLine("startTime is :: {0}", 
        startTime.ToString("MM/dd/yyyy HH:mm:ss"));
}
Merci à vous tous pour les discussions utiles et des postes. 🙂
Suggestions de Russell_Steen, Hans_Kesting et Hojo sont également acceptables.
double possible de Est-il une meilleure façon de couper un DateTime pour une précision spécifique?
Il est plus judicieux de suggérer le duplicate / des postes similaires quand le Q est nouvelle et n'ai pas eu de réponse encore .. ce n'est pas à jeter un oeil à la DOUBLE POSSIBLE MAINTENANT, après l'obtention de la solution idéale qui répond à mon besoin.
Dupliquer les messages sont affichés en haut comme par le MOTS CLÉS tapé dans le titre de la colonne. Donc la recherche ne peut être qu'efficace. de plus .. Éventuellement en double post n'est pas liée à mon poste..

OriginalL'auteur InfantPro'Aravind' | 2010-03-23