如何获取当前时间和日期C++ UTC时间不是本地时间

ar5n3qh5  于 2023-01-28  发布在  其他
关注(0)|答案(2)|浏览(200)

我想知道如何在C++ Linux中获得UTC时间或任何其他时区(只是本地时间)。
我想做的事情如下:int Minutes = time.now(Minutes)获取并存储该精确时间的年、月、日、时、分和秒。
我怎么能这样做呢?
我将需要多次重复这一过程;我想知道这样做的最新和最好的方法。

lmvvr0a8

lmvvr0a81#

您正在time.h库中查找gmtime函数,该函数为您提供UTC时间。

#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, time, gmtime */

int main ()
{
  time_t rawtime;
  struct tm * ptm;
  // Get number of seconds since 00:00 UTC Jan, 1, 1970 and store in rawtime
  time ( &rawtime );
  // UTC struct tm
  ptm = gmtime ( &rawtime );
  // print current time in a formatted way
  printf ("UTC time: %2d:%02d\n", ptm->tm_hour, ptm->tm_min);

  return 0;
}

看看这些来源:

db2dz4w8

db2dz4w82#

如果你想要面向Linux的解决方案,你可以使用c++中的系统命令
例如:

#include <iostream>
    #include <sstream>        //for stringstream function to store date and time
    
    using namespace std;
    
    int main()
    {
        const char *date_now = "date -u";       //linux command to get UTC time is "date -u"
        stringstream s;
        s << system(date_now);        //to store output of system("date_now") to s;
        cout << s.str() << endl;        //to print the string in s
        
        return 0;
    }

查看“date --help”以获取更多与linux终端中的日期和时间相关的命令。

相关问题