Advertisement
banovski

Local time and date

Nov 4th, 2021
1,403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.33 KB | None | 0 0
  1. /* Задача. Получить системное время и преобразовать его из Unix-time в
  2.  * человекопонятные время и дату с учетом часового пояса. Время должно быть в
  3.  * 12-часовом формате HH:MM:SS с уточнением "am/pm" */
  4.  
  5. #include <stdio.h>
  6. #include <string.h>
  7. #include <time.h>
  8.  
  9. int main()
  10. {
  11.     /* указатель на структуру для данных о времени */
  12.     struct tm *t;
  13.     /* переменная для времени в Unix-time */
  14.     time_t now;
  15.     /* переменная для значения количества часов в 12-часовом формате */
  16.     int hour;
  17.     /* символьный массив для строк "a.m." / "p.m." */
  18.     char m[5] = "a.m.";
  19.     time(&now);
  20.     t = localtime(&now);
  21.     /* конвертация из 24-часового формата в 12-часовой */
  22.     if (t -> tm_hour > 12)
  23.     {
  24.         hour = t -> tm_hour - 12;
  25.         strcpy(m, "p.m.");
  26.     }
  27.     else
  28.     {
  29.         hour = t -> tm_hour;
  30.     }
  31.     printf("Время: %02d:%02d:%02d %s\nДата: %02d-%02d-%d.\n", hour, \
  32.             t -> tm_min, t -> tm_sec, m, t -> tm_mday, t -> tm_mon + 1, \
  33.             t -> tm_year - 100);
  34.     return(0);
  35. }
  36.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement