一.tm结构
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
} ;
二.年月日时分秒与秒数互相转换
#include "stdafx.h"
#include <time.h>
#include <iostream>
using namespace std;
int _tmain ( int argc, _TCHAR* argv[ ] )
{
struct tm time;
time. tm_year = 2021 - 1900 ;
time. tm_mon = 3 - 1 ;
time. tm_mday = 12 ;
time. tm_hour = 11 ;
time. tm_min = 52 ;
time. tm_sec = 38 ;
time_t ltime_new = mktime ( & time) ;
cout << "------------将2021-3-12 11:52:38转换为秒------------" << endl;
cout << ltime_new << endl;
cout << "------------将2021-3-12 11:52:38转换为秒------------" << endl;
cout << "\r\n" << endl;
struct tm newTime;
newTime = * localtime ( & ltime_new ) ;
cout << "------------------将秒数转换为时间------------------" << endl;
char week[ 10 ] ;
switch ( newTime. tm_wday)
{
case 0 :
sprintf_s ( week, "%s" , "星期日" ) ;
break ;
case 1 :
sprintf_s ( week, "%s" , "星期一" ) ;
break ;
case 2 :
sprintf_s ( week, "%s" , "星期二" ) ;
break ;
case 3 :
sprintf_s ( week, "%s" , "星期三" ) ;
break ;
case 4 :
sprintf_s ( week, "%s" , "星期四" ) ;
break ;
case 5 :
sprintf_s ( week, "%s" , "星期五" ) ;
break ;
case 6 :
sprintf_s ( week, "%s" , "星期六" ) ;
break ;
default :
sprintf_s ( week, "%s" , "有星期八吗?" ) ;
break ;
}
int nYDay = newTime. tm_yday + 1 ;
int nYear = newTime. tm_year + 1900 ;
int nMon = newTime. tm_mon + 1 ;
int nMDay = newTime. tm_mday;
int nHour = newTime. tm_hour;
int nMin = newTime. tm_min;
int nSec = newTime. tm_sec;
cout << "当前时间为:一年中的第" << nYDay << "天" << " " << week << " "
<< nYear << "-" << newTime. tm_mon+ 1 << "-" << newTime. tm_mday
<< " " << newTime. tm_hour << ":" << newTime. tm_min << ":" << newTime. tm_sec
<< endl;
cout << "------------------将秒数转换为时间------------------" << endl;
return 0 ;
}
三.运行结果
--- --- --- --- 将2021- 3- 12 11:52:38转换为秒-- --- --- --- -
1615521158
-- --- --- --- - 将2021- 3- 12 11:52:38转换为秒-- --- --- --- -
-- --- --- --- --- --- - 将秒数转换为时间-- --- --- --- --- --- -
当前时间为:一年中的第71天 星期五 2021- 3- 12 11:52:38
-- --- --- --- --- --- - 将秒数转换为时间-- --- --- --- --- --- -
请按任意键继续. . .