C++ 当前时间 -> 两位数

标签 c++ date time digits ctime

我通过显示当前日期/时间

#include <ctime>
time_t sec = time(NULL);
tm* curTime = localtime(&sec);    
cout << "Date: " <<  curTime->tm_mday << "." << curTime->tm_mon << "." << curTime->tm_year+1900 << endl;
cout << "Time: " << curTime->tm_hour << ":" << curTime->tm_min << ":" << curTime->tm_sec << endl;

实际上它显示例如

Date: 4.10.2016
Time: 9:54:0

我在这里遇到了 2 个问题:

  1. 我想要两个数字,日期(日和月)和时间(小时、分钟和秒)。所以它应该显示 04.10.2016 和 09:54:00
  2. 今天显示的是 24.10.2016,但今天是 24.11.2016。为什么它显示十月而不是十一月? Linux 时钟正确显示时间。

感谢您的帮助:)

最佳答案

  1. 您应该使用操纵器进行打印。 在 printf("%02d", curTime->tm_hour) 在 cout 中,你可以使用, std::cout << std::setw(2) << std::setfill('0') << curTime->tm_hour.

  2. tm_mon 是从 0 到 11。所以你应该使用 tm_mon+1 来打印。

关于C++ 当前时间 -> 两位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40781934/

相关文章:

c++ - 计算先前对齐的地址

c++ - Qt4 中的析构函数

r - 如何在给定的任意年份中获得去年的相同工作日?

php - 是否可以在 MYSQL 数据库的列中默认插入 php time() 值?

c++ - 回文程序和条件跳转或移动取决于未初始化的值

c++ - 在 C++ 中执行主程序时,如何在后台检查是否已经过了一分钟?

r - 用之前的条目填写缺失的日期

javascript - 搜索时间戳大于X天的对象

python - 如何自动获取本地时区的时区偏移量?

Java 将时间转换为 iso_instant