0

私の質問はほとんどタイトルにあります。type のパラメーターを使用した関数呼び出しがありtime_t、変数を今日の日付、月、年に初期化し、引数を介して送信する必要があります。例えば、

void WebCall(time_t TodaysDate)

スラッシュを含むTodaysDate形式で設定された変数はどこにありますか。DD/MM/YYYYこれは可能ですか?データ型をtime_ttoSYSTEMTIMEなどに変更することはできません。これは C++ でコーディングされています。何か案は?

4

2 に答える 2

1

を意味する場合は、とを使用しtime_tてフォーマットできます:gmtimestrftime

time_t TodaysDate= ...;
struct tm * ptm= gmtime(&time);
char buffer[80];
strftime(buffer, 80, "%d/%m/%Y", ptm);
于 2012-09-20T23:59:42.763 に答える
1

time_tは「UNIX 時間」であり、UTC 1970 年 1 月 1 日の 00:00 から経過した秒数です。MSN が答えたようにgmtime最も一般的な目的で、UTC は GMT と同義です。質問では指定しませんでしたが、現地の日付が必要な場合はlocaltime代わりにgmtime. これを実行して std::string を返す関数を次に示します。

#include <time.h>
#include <string>

std::string time_to_local_date( time_t utc )
{
    struct tm *now = localtime(&utc);
    char buffer[80];
    strftime(buffer, 80, "%d/%m/%Y", now);
    return std::string(buffer);
}
于 2012-09-21T15:37:21.863 に答える