How to get the number of the current day of year in C

1 Answer

0 votes
#include <stdio.h>
#include <time.h>

int GetDayOfYear() {
    time_t t = time(NULL);

    struct tm tm = *localtime(&t);

    int year = tm.tm_year + 1900;
    int month = tm.tm_mon + 1;
    int day = tm.tm_mday;
         
    struct tm date = {};
    
    date.tm_year = year - 1900;
    date.tm_mon = month - 1;
    date.tm_mday = day;
    
    mktime(&date);
    
    return date.tm_yday + 1;
}

int main() {
    
    int dayOfYear = GetDayOfYear();

    printf("%d", dayOfYear);
}




/*
run:

356

*/

 



answered Dec 22, 2022 by avibootz
edited Dec 22, 2022 by avibootz

Related questions

1 answer 79 views
79 views asked Dec 22, 2022 by avibootz
1 answer 127 views
1 answer 127 views
1 answer 138 views
2 answers 157 views
1 answer 107 views
107 views asked Dec 22, 2022 by avibootz
...