J'ai un problème que je ne trouve pas de solution. Ou au moins un "bon". Je veux trouver le dernier jour du mois donné un mois et un an en C.Dernier jour d'un mois
Par exemple:
last_day(10, 2017) > 31
last_day(02, 2017) > 28
last_day(02, 2016) > 29
last_day(01, 2017) > 31
last_day(12, 2010) > 31
LAST_DAY (X, Y)> X est le mois, l'année Y
Voici mon idée: Obtenez le jour sur le mois X + 1, de l'année Y. Retirer 1 jour à partir de cette date.
Je voudrais savoir s'il y a une meilleure solution que cela, puisque cela rendra un "lot" de fonctionnement pour une chose "simple".
Merci.
Edit: https://ideone.com/sIISO1
#include <stdio.h>
#include <time.h>
#include <string.h>
int main(void) {
struct tm tm;
char out[256];
memset(&tm, 0, sizeof(struct tm));
tm.tm_mon = 1;
tm.tm_mday = 0;
strftime(out, 256, "%d-%m-%Y", &tm);
printf("%s", out);
return 0;
}
Je l'ai testé à l'aide d'tm struct et jour = 0, afin d'obtenir la veille, mais n'a pas fonctionné
Afficher les entrées, les sorties montrent souhaitées. – tilz0R
Pour chaque mois autre que février, ceci est très simple grâce à une recherche de table. Pour février, vous devez calculer s'il y a 28 ou 29 jours pour l'année donnée. – MrSmith42
Que voulez-vous dire par "last * day *"? La * date * du dernier jour? Ou le jour de la semaine (comme "lundi" ou "vendredi")? –