7

time_tデータ型を使用する変数があります。この型を「YYYY-MM-DD HH:MM:SS」に変換したい。例でのみ機能するかどうかはわかりlocaltime()ます:

char buff[20];
time_t now = time(NULL);
strftime(buff, 20, "%Y-%m-%d %H:%M:%S", localtime(&now));

それを変換する方法について何か提案はありますか?のような固定された時間ではなく、常に毎分増加する時間があるからlocaltime()です。datetimeMySQL データベースの型と一致させるために、この変換が必要です。

4

1 に答える 1

8

関数gmtimelocaltime(それぞれ UTC と現地時間) は、年、月などの個々のフィールドを持つ任意 time_tの を に変換します。struct tm

次に、そのまま使用するstrftimeか、次sprintfのようにそれらから文字列を作成できます。

char buff[11];
sprintf (buff, "%04d-%02d-%02d",
    mytm.tm_year + 1900,
    mytm.tm_mon + 1,
    mytm.tm_mday);
于 2014-01-14T05:48:50.937 に答える