博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算从1970年到现在累计的秒数
阅读量:5993 次
发布时间:2019-06-20

本文共 1329 字,大约阅读时间需要 4 分钟。

没啥技术含量,只不过是在没事干,就把这个也记上,Windows下好像有这个api函数,但是在wince下用不了,所以还得自己封装一个。大体代码如下:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*the seconds of round year = 3600*24*366 */
#define SECONDOFROUNDYEAR 31622400
 
/*the seconds of general year = 3600*24*365 */
#define SECONDOFYEAR 31536000
 
unsigned
int 
SecondsFrom1970()
{
    
SYSTEMTIME st;
    
unsigned
int 
tTemp=0;
    
unsigned
int 
tSecond=0;
    
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 
nDays=0;
    
int 
nCount=0;
    
int 
i;
    
int 
j;
 
    
GetLocalTime(&st);
    
tSecond=st.wHour*3600+st.wMinute*60+st.wSecond;
 
    
for 
(i=1970;i<st.wYear;++i)
    
{
        
if 
(IsRound(i))
            
++nCount;
    
}
 
    
tTemp+=(st.wYear-1970-nCount)*SECONDOFYEAR+nCount*SECONDOFROUNDYEAR;
 
    
if 
(st.wMonth>1)
    
{
        
if 
(IsRound(st.wYear))
        
{
            
for 
(j=0;j<st.wMonth-1;++j)
            
{
                
tTemp+=month_s[1][j]*MAXSECONDOFDAY;
            
}
            
tTemp+=(st.wDay-1)*MAXSECONDOFDAY+tSecond;
        
}
        
else
        
{
            
for 
(j=0;j<st.wMonth-1;++j)
            
{
                
tTemp+=month_s[0][j]*MAXSECONDOFDAY;
            
}
            
tTemp+=(st.wDay-1)*MAXSECONDOFDAY+tSecond;
        
}
    
}
    
else
    
{
        
tTemp+=(st.wDay-1)*MAXSECONDOFDAY+tSecond;
    
}
 
    
return 
tTemp;
}
 
bool 
IsRound(
int 
year)
{
    
/*is round year?*/
    
if
((year%100)&&(year%4==0))
return 
1;
    
if
((year%100==0)&&(year%400==0))
return 
1;
    
return 
0;
}

转载地址:http://rftlx.baihongyu.com/

你可能感兴趣的文章
jQuery 效果 - 隐藏和显示
查看>>
Chapter 2 Open Book——31
查看>>
Ansible4:Ad-hoc与命令执行模块【转】
查看>>
纯css3圆形从中心向四周扩散动画效果
查看>>
eclipse里maven install时,报错提示jdk为无效的目标版本:1.7
查看>>
继续Django
查看>>
使用Ecplise git commit时出现"There are no stages files"
查看>>
Linux中变量#,#,@,0,0,1,2,2,*,$$,$?的含义
查看>>
RMAN的恢复篇
查看>>
windows环境下sublime的nodejs插件详细安装图解
查看>>
(转)PLSQL Developer导入Excel数据
查看>>
libsvm下的windows版本中的工具的使用
查看>>
windows系统中软件开发常用的软件
查看>>
Android 5.0之后屏幕截图的方法
查看>>
(二)Lua脚本语言入门(关于函数)
查看>>
java---servlet与filter的联系与区别
查看>>
一句话说清楚cache和buffer
查看>>
C语言 · 核桃的数量
查看>>
第一百五十六节,封装库--JavaScript,延迟加载
查看>>
ssh: connect to host github.com port 22: Connection timed out
查看>>