GNU/Linux >> Linux の 問題 >  >> Linux

UTC 時刻を取得する方法

gmtime を使用できます:

struct tm * gmtime (const time_t * timer);
Convert time_t to tm as UTC time

以下に例を示します:

std::string now()
{
  std::time_t now= std::time(0);
  std::tm* now_tm= std::gmtime(&now);
  char buf[42];
  std::strftime(buf, 42, "%Y%m%d %X", now_tm);
  return buf;
}

出力:

20131220 19:33:51

ideone リンク:http://ideone.com/pCKG9K


C++ でのハイエンドな答えは、Boost Date_Time を使用することです。

しかし、それはやり過ぎかもしれません。 C ライブラリには、必要なものが strftime にあります。 、マニュアルページに例があります。

/* from man 3 strftime */

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

int main(int argc, char *argv[]) { 
    char outstr[200];
    time_t t;
    struct tm *tmp;
    const char* fmt = "%a, %d %b %y %T %z";

    t = time(NULL);
    tmp = gmtime(&t);
    if (tmp == NULL) {
        perror("gmtime error");
        exit(EXIT_FAILURE);
    }

    if (strftime(outstr, sizeof(outstr), fmt, tmp) == 0) { 
        fprintf(stderr, "strftime returned 0");
        exit(EXIT_FAILURE); 
    } 
    printf("%s\n", outstr);
    exit(EXIT_SUCCESS); 
}        

マニュアルページの内容に基づいて完全な例を追加しました:

$ gcc -o strftime strftime.c 
$ ./strftime
Mon, 16 Dec 13 19:54:28 +0000
$

Linux
  1. 与えられたファイルの年齢を取得しますか?

  2. Linux –実行中のプロセスの壁掛け時計の時間を取得する方法は?

  3. ファイルの作成/作成時間を取得しますか?

  1. コマンドオプションを覚える方法は??

  2. Linuxでディレクトリサイズを取得する方法

  3. Pythonでフォーマットされた日時を取得する方法

  1. CPU使用率を取得する方法

  2. psを印刷グループにするにはどうすればよいですか?

  3. ハードディスクの総実行時間を取得する方法