M'est avis que tu as un problème avec les intervalles
Du 28 avril au 8 novembre 2014, le résultat n'est pas 28 mais 27,71.
D'ailleurs facile : le 28/04 est un lundi, le 08/11 un samedi.
Il y a 194 jours. Pour arriver à 28, tu rajoutes 2 jours.
C'est d'ailleurs systématique pour tes valeurs attendues, sauf une où tu ne rajoutes qu'1 jour !
Si le jour d'entrée est le 28/04 et le jour de sortie le 08/11, cela veut dire que le contrat prévoit qu'il est présent du 28/04 au 07/11 inclus. Le nombre de jours est la différence entre 08/11 et 28/04 qu'il suffit de diviser par 7 pour convertir en semaines (inutile d'arrondir d'ailleurs, on peut choisir le nombre de décimales à afficher).
Donc, soit ton évaluation est fausse, soit tu appliques des règles que tu n'as pas indiqué, par exemple que le week-end doit être inclus, ou qu'on lui rajoute des jours de congés... Dans ce cas il faut donner les règles.
En l'absence, le calcul ne peut être que (bêtement) : (JS-JE)/7
Cordialement
Ferrand