Advertisement
Naohiro19

指定した日付のカウントダウン(C++20必須)

Jan 10th, 2022
730
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <string>
  4. #include <time.h>
  5. #include <chrono>
  6. #include <math.h>
  7. #include <format>
  8.  
  9.  
  10. void print_date(int target_year, int target_month, int target_day)
  11. {
  12.     auto cur_time = std::chrono::system_clock::to_time_t(std::chrono::system_clock::now());
  13.     struct tm Cur_Times;
  14.     localtime_s(&Cur_Times, &cur_time);
  15.  
  16.     auto current_year = Cur_Times.tm_year + 1900;
  17.     auto current_month = Cur_Times.tm_mon + 1;
  18.     auto current_day = Cur_Times.tm_mday;
  19.  
  20.     auto diff_year = abs(current_year - target_year);
  21.     auto diff_month = abs(current_month - target_month);
  22.     auto diff_day = abs(current_day - target_day);
  23.  
  24.     std::cout << std::format("{0}年{1}月{2}日まであと", target_year, target_month, target_day);
  25.  
  26.     if (current_year != target_year) {
  27.         std::cout << std::format("{0}年と", diff_year);
  28.     }
  29.     if (current_month != target_month) {
  30.         std::cout << std::format("{0}か月と", diff_month);
  31.     }
  32.     if (diff_day != target_day) {
  33.         std::cout << std::format("{0}日です。", diff_day);
  34.     }
  35.     std::cout << std::endl;
  36. }
  37.  
  38. int main()
  39. {
  40.     print_date(2022, 2, 6);
  41.     // "2022年2月6日まであと1か月と4日です。"
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement