我需要了解如何将日期/时间(从服务器获取)转换为UNIX时间戳。我将使用C进行编码。关于如何实现的任何想法,或者有人可以指导我使用类似的现有代码?
最佳答案
请参见此处的db_unix_timestamp()函数:
http://svn.cubrid.org/cubridengine/trunk/src/query/string_opfunc.c
这是一种可能对您有用的方法:
{
char *dateTimeString = "2014-05-10 15:50:49"; //"YYYY-MM-DD HH:MM:SS"
struct tm t;
time_t t_of_day;
char *cp = dateTimeString;
t.tm_year = strtol(cp, &cp, 10); // 2011-1900;
t.tm_mon = strtol(++cp, &cp, 10); // Month, 0 - jan
t.tm_mday = strtol(++cp, &cp, 10); // Day of the month
t.tm_hour = strtol(++cp, &cp, 10);
t.tm_min = strtol(++cp, &cp, 10);
t.tm_sec = strtol(++cp, &cp, 10);
t.tm_isdst = -1; // Is DST on? 1 = yes, 0 = no, -1 = unknown
t_of_day = mktime(&t);
printf("seconds since the Epoch: %ld\n", (long) t_of_day)
}
关于c - 如何将日期时间从服务器转换为Unix时间戳?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23577537/