Bonjour,
Avec first day of january, les heures minutes secondes sont initialisées à 00:00:00
date('d M Y H:i:s', strtotime('first day of january'));
retourne 01 Jan 2020 00:00:00
Avec first day of this month, les heures minutes secondes sont l’heure actuelle
date('d M Y H:i:s', strtotime('first day of this month'));
retourne: 01 Jan 2020 16:42:35
Pour avoir les heures, min, sec. initialisées, il faut ajouter midnight à first day of this month
date('d M Y H:i:s', strtotime('first day of this month midnight'));
retourne : 01 Jan 2020 00:00:00
NB: strtotime est la fonction php utilisée dans durationBetween pour traduire une date texte en timestamp unix