Какую функцию в C я могу использовать, чтобы получить дату отдельно от времени? - PullRequest
0 голосов
/ 04 июля 2018

Я строю программу на C, и мне нужно использовать время отдельно, а также дату отдельно. Я хочу сделать это без использования структуры struct tm, поскольку мне нужно отправить время и дату в разные столбцы в моей таблице базы данных с именем Logs:

int main(){       

       duration = clock() - duration;
       double Duration = ((double)duration)/CLOCKS_PER_SEC;

       char* IPaddr = inet_ntoa(newAddr.sin_addr);
        int PortNo = ntohs(newAddr.sin_port);
        printf("\n%s %s %d %f\n", task, IPaddr, PortNo, Duration);
        printf("now: %d-%d-%d %d:%d:%d\n",tm.tm_mday,tm.tm_mon+1,tm.tm_year+1900,tm.tm_hour,tm.tm_min,tm.tm_sec);

        if (mysql_query(con, "INSERT INTO Logs(ClientIP, ClientPort, Job_type, SubmissionTime, SubmissionDate, Duration)
                VALUES(%s, %d, %s, %, %, %f)")) {
                    finish_with_error(con);
                }

        return 0;
}

1 Ответ

0 голосов
/ 04 июля 2018

Возможно, вы захотите объявить два символьных массива, один для строки даты и один для строки времени, и дважды вызвать strftime, чтобы создать их. Как то так:

char SubmissionDate[20], SubmissionTime[20];
strftime(SubmissionDate, sizeof(SubmissionDate), "%Y-%m-%d", &tm); 
strftime(SubmissionTime, sizeof(SubmissionTime), "%H:%M:%S", &tm);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...