liukuan.net

liukuan.net,发现,记录,分享

313

C语言时间戳转日期

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
64
65
66
67
68
#include <stdio.h>
 
int run(int year){
	if((year%4==0 && year%100!=0) 
	|| (year%400==0)){
		return 1;
	}
	return 0;
}
 
int mon(int mon,int year){
	switch (mon) {
		case 2:
			if(run(year)){
				return 29;
			}
			return 28;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			return 30;
			break;
		default:
			return 31;
			break;
	}
}
 
int t_y,t_m,t_d,t_h,t_i,t_s;
int runtime(long int time){
	int aday,miao,shi,fen=1,ss=1;
	int i,m=1,y=1970;
	aday = time/(60*60*24);
	miao = time%(60*60*24);
	shi = miao/(60*60);
	fen = miao%(60*60)/60;
	ss = miao%(60*60)-(fen*60);
 
	for(i=aday+1;i>=28;) {
		i -= mon(m,y);
		if(m==12){
			y++;m=1;
		}else{
			m++;
		}
	}
 
	printf("%d-%02d-%02d %02d:%02d:%02d\n",y,m,i,shi+8,fen,ss);
	return 0;
}
 
int main(int argc, char *argv[]) {
	//runtime(1402128007);
	//return 0;
	int y,m,d,dt,i;
	printf("请输入日期:");
	scanf("%d%d%d",&y,&m,&d);
 
	for(i=1;i<m;i++){
		dt += mon(i,y);
	}
	dt += d;
 
	printf("%d",dt);
	return 0;
}
原文地址 : https://liukuan.net/c/92.html
本站遵循 : 知识共享署名-非商业性使用-相同方式共享 3.0 版权协议
版权声明 : 原创文章转载时,请务必以超链接形式标明 文章原始出处
作者:admin | 分类:c/c++ | 标签: C语言