1:最初にシステム時刻を標準形式の時刻に変換し、次にタイムスタンプに変換します。
#include "iostream"
#include "time.h"
#include "string.h"
using namespace std;
int main()
{
time_t rawtime ;
struct tm * timeinfo;
char s[100];
time ( &rawtime );
timeinfo = localtime ( &rawtime );
time_t tick = mktime(timeinfo);
strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", timeinfo);
printf("%d: %s\n", (int)tick, s);
int Year = timeinfo->tm_year+1900;
int Mon = timeinfo->tm_mon+1;
int Day = timeinfo->tm_mday;
int Hour = timeinfo->tm_hour;
int Min = timeinfo->tm_min;
int Second = timeinfo->tm_sec;
cout << Year << ":" << Mon << ":" << Day << "-" << Hour << ":" << Min << ":" << Second << endl;
return 0;
}
その中で:
int Year = timeinfo->tm_year+1900;
int Mon = timeinfo->tm_mon+1;
時間、分、秒は、その日の残りの時間は同じままです。
操作の結果は次のとおりです。
2:最初にシステム時刻をタイムスタンプに変換し、次に標準形式の時刻に変換します。
#include "iostream"
#include "time.h"
#include "string.h"
using namespace std;
int main()
{
time_t now;
int unixTime = (int)time(&now);
time_t tick = (time_t)unixTime;
struct tm tm;
char s[100];
tm = *localtime(&tick);
strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", &tm);
printf("%d: %s\n", (int)unixTime, s);
return 0;
}
操作の結果は次のとおりです。