GNU/Linux >> Belajar Linux >  >> Linux

Cara mendapatkan waktu UTC

Anda dapat menggunakan gmtime:

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

Berikut contohnya:

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;
}

Keluaran:

20131220 19:33:51

tautan ideone:http://ideone.com/pCKG9K


Jawaban kelas atas di C++ adalah menggunakan Boost Date_Time.

Tapi itu mungkin berlebihan. Pustaka C memiliki apa yang Anda butuhkan di strftime , halaman manual memiliki contoh.

/* 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); 
}        

Saya menambahkan contoh lengkap berdasarkan apa yang ada di halaman manual:

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

Linux
  1. Dapatkan Usia File yang Diberikan?

  2. Dapatkan File Dibuat/Waktu pembuatan??

  3. Bagaimana Cara Mengingat Opsi Perintah??

  1. Bagaimana cara mendapatkan waktu mulai dari proses Linux yang sudah berjalan lama?

  2. Cara mendapatkan waktu tanggal yang diformat dengan python

  3. Dapatkan detik sejak zaman di Linux

  1. Cara Mendapatkan Waktu Boot dan Waktu Aktif di Ubuntu

  2. Bagaimana Cara Mendapatkan Tipe Data Variabel Di Zsh?

  3. Bagaimana cara mendapatkan tanggal/waktu pembuatan file di Bash/Debian?