Создание программы, которая распечатывает текущий день недели на основе часового пояса EST

0

Код, который я создал до сих пор:

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

int main()
{


    int days, rmd;
    time_t seconds;

    seconds = time(NULL);

    days = (seconds/(60*60*24));



      rmd=days%7;

          if(rmd==4){
              printf("Monday \n");
          }
          if(rmd==5){
              printf("Tuesday \n");
          }
          if(rmd==6){
              printf("Wednesday \n");
          }
          if(rmd==0){
              printf("Thursday \n");
          }
          if(rmd==1){
              printf("Friday \n");
          }
          if(rmd==2){
              printf("Saturday \n");
          }
          if(rmd==3){
              printf("Sunday \n");
          }

return 0;
}

Я понимаю, что время (NULL) возвращает количество секунд, прошедших с момента 1 января 1970 года. Я также понимаю, что jan 1 был в четверг. Я также знаю, что часовой пояс UTC на 5 часов впереди EST, но я точно не знаю, как принимать во внимание все эти факторы.

Теги:
date
time
utc

2 ответа

0

Вы можете использовать localtime() и strftime() следующим образом:

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

int main()
{
   time_t rawtime;
   struct tm *info;
   char buffer[100];

   time(&rawtime);

   info = localtime(&rawtime);
   strftime(buffer, sizeof(buffer), "%A", info);
   printf("Current weekday: %s\n", buffer);

   return 0;
}

Если имя недели недели должно быть настроено, вы также можете вручную использовать info->tm_wday, который представляет день недели, диапазон от 0 до 6.

  • 0
    Спасибо за ответ. Я не могу использовать что-то сложное, чтобы сделать этот вопрос для моего класса, например, я уверен, что не могу использовать указатели.
0

Если возможно (например, вы не ограничены домашним заданием от его использования), рассмотрите возможность использования stftime:

http://www.cplusplus.com/reference/ctime/strftime/

% A даст вам день недели.

  • 0
    спасибо за ответ, и да, я уверен, что мне не разрешено использовать эту команду.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню