获取小时/分钟/秒,无需用户更改系统小时

时间:2014-08-12 08:46:37

标签: c windows date time timestamp

我想知道如何使用时间戳来获取系统的当前小时,分钟和秒,以避免用户自己更改日期,我在Windows上使用c进行操作。

1 个答案:

答案 0 :(得分:1)

通常可以通过安装ntp(如果您可以控制用户和计算机)或使用服务器时间(在您无法控制用户的客户端/服务器应用程序中)来解决问题&# 39;计算机)。

也就是说,您可以像这样检索系统的当前时间:

#include <time.h>

int main(int argc, char **argv) {
  struct tm localTime = localtime(time(null));  // Get system time using system time zone
  struct tm gmTime = gmtime(time(null));        // Get system Greenwich mean time.
}

struct tm(至少)有以下字段:

int    tm_sec   seconds [0,61]
int    tm_min   minutes [0,59]
int    tm_hour  hour [0,23]
int    tm_mday  day of month [1,31]
int    tm_mon   month of year [0,11]
int    tm_year  years since 1900
int    tm_wday  day of week [0,6] (Sunday = 0)
int    tm_yday  day of year [0,365]
int    tm_isdst daylight savings flag