把自1970年1月1日以来的秒数转化成年月日
睿丰德科技 专注RFID识别技术和条码识别技术与管理软件的集成项目。质量追溯系统、MES系统、金蝶与条码系统对接、用友与条码系统对接
#include <iostream>
using
namespace
std;
bool
IsRound(
int
year){
if
((year%100)&&(year%4==0))
return
1;
if
((year%100==0)&&(year%400==0))
return
1;
return
0;
}
int
main() {
int
n;
int
year_s[2]= {365*24*60*60, 366*24*60*60};
int
month_s[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
int
day_s = 24*60*60;
int
hour_s = 60*60;
int
minute_s = 60;
while
(cin>>n){
int
temp = n;
int
year=1970;
int
month=1;
int
day=1;
int
hour=0;
int
minute=0;
int
second=0;
while
(temp>=60){
int
flag= IsRound(year);
if
(temp>=year_s[flag]) { year++; temp-=year_s[flag]; }
else
if
(temp>=day_s){
int
days = temp/day_s;
temp=temp%day_s;
int
i=0;
int
flag = IsRound(year);
int
hh=31;
while
(days>=hh){
days-=month_s[flag][i++];
hh=month_s[flag][i];
}
month+= i;
day+=days;
}
else
if
(temp>=hour_s){
hour=temp/hour_s;
temp%=hour_s;
}
else
if
(temp>=minute_s){
minute = temp/minute_s;
temp%=minute_s;
}
}
second = temp;
cout<<year<<
"-"
;
if
(month/10==0) cout<<
"0"
;
cout<<month<<
"-"
;
if
(day/10==0) cout<<
"0"
;
cout<<day<<
" "
;
if
(hour/10==0) cout<<
"0"
;
cout<<hour<<
":"
;
if
(minute/10==0) cout<<
"0"
;
cout<<minute<<
":"
;
if
(second/10==0) cout<<
"0"
;
cout<<second<<endl;
}
return
0;
}
RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成