0

現在の日付と時刻を取得して配列に保存する方法を知っています。しかし、次の形式で印刷したいと思いますdd.mm.YYY_HH:MM:ss。これを実現するためにコードを変更するにはどうすればよいですか?

#include <stdio.h>
#include <time.h>

char *datetime()
{
    char *array = (char*)malloc(sizeof(char)*25);
    time_t result;
    result = time(NULL);
    sprintf(array, "%s", asctime(localtime(&result)));
    array[25] = '\0';
    return array;
}

int main(void)
{
    // prints Sat Aug  3 18:39:07 2013
    printf("%s", datetime());

    // how to print:
    // 03.08.2013_18:39:07
    // ?

    return(0);
}
4

2 に答える 2

1

関数を使用できstrftime ます: http://www.gnu.org/software/libc/manual/html_node/Formatting-Calendar-Time.html

strftime7.23.3.5 の C99 標準に記載されています。

于 2013-08-03T16:55:16.627 に答える
1

strftime の使用 -ここを参照

これは次のようになります -

time_t rawtime;

time (&rawtime);
struct tm  *timeinfo = localtime (&rawtime);
strftime(array, sizeof(array)-1, "%d.%m.%y_%H:%M:%S", timeinfo);
于 2013-08-03T17:05:30.187 に答える