datediff arrondissement

J'ai une db table dans SQL Server qui contient une date de début pour un projet.

Web sur une page d'état, je veux vous montrer combien de jours/semaines/mois, le projet a été exécuté, les unités en fonction de la durée. Donc moins de 21 jours, je vais leur montrer de jours, de moins de 7 semaines, je vais leur montrer semaines, sinon de montrer les mois complets. Donc, je reçois les jours, les semaines et les mois des valeurs et pouvez ensuite utiliser un peu de code pour décider lequel d'affichage.

Supposons que le projet démarre le 30 Décembre 2010 et je vérifie aujourd'hui (27 Février 2011).

select datediff(d,'30 Dec 2010',getdate()) as days, 
datediff(wk,'30 Dec 2010',getdate()) as weeks , 
datediff(m,'30 Dec 2010',getdate())as months

produit

days: 59    weeks: 9    months: 2

Mais en fait, la différence est de 8 semaines et certaines arrondissement prend place.

J'ai essayé de le faire dans l'ASP ainsi, l'obtention de la date de début et ensuite de faire le datediff() mais c'est pas mieux.

Est-il un meilleur moyen?

grâce

InformationsquelleAutor derekcohen | 2011-02-27