文档章节

windows获取当前时间到1970年的秒数

xxdd
 xxdd
发布于 2017/05/24 15:39
字数 186
阅读 31
收藏 0
//用于计算1970年1月1日到现在的秒数
/*the seconds of round year = 3600*24*366 */
#define SECONDOFROUNDYEAR 31622400
/*the seconds of general year = 3600*24*365 */
#define SECONDOFYEAR      31536000
//24+60+60 
#define MAXSECONDOFDAY    86400


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;
}

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;
}

 

© 著作权归作者所有

共有 人打赏支持
xxdd
粉丝 3
博文 53
码字总数 12940
作品 0
海淀
程序员
小朋友学Python(14):日期和时间

一、获取当前时间戳 例1 运行结果: 说明: 这里得到的时间是时间戳(timestamp),是从1970年1月1日0时0分开始计算的,单位是秒。 时间戳单位最适于做日期运算。但是1970年之前的日期就无法...

翡翠森林Z
01/02
0
0
时间戳 NSTimeInterval

时间戳转分钟

asjoker
2016/08/23
5
0
python获取当前时间对应unix时间戳的方法

本文实例讲述了python获取当前时间对应unix时间戳的方法。分享给大家供大家参考。具体分析如下: Unix timestamp:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒 ? 1 2 3 ...

Galy_绿
2016/03/17
27
0
linux时间编程常用函数

首先说明时间类型分为两种: Coordinated Universal Time(UTC):世界标准时间,也就是格林威治时间(Greenwich Mean Time, GMT) Calendar Time:日历时间,从一个标准时间点(如:1970年1月1日0...

NightCode
2015/04/13
0
0
十四Linux编程环境

Linux编程环境 时间日期类型 timeval 及其相关API “时间”和“日期”的概念,主要有以下几个: Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格...

长平狐
2012/08/28
69
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea新建springCloud项目(4)- 商品服务

先从商品api文档入手: <h5> { "code": 0, "msg": "成功", "data": [ { "name": "热榜", "type": 1, "foods": [ { "id": "123456", "name": "皮蛋粥", "price": 1.2, "description": "好吃的......

monroeCode
6分钟前
1
0
InnoDB并发如此高,原因竟然在这?

InnoDB并发如此高,原因竟然在这? 原创: 58沈剑 架构师之路 昨天 《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁...

祖冲之
7分钟前
0
0
sklearn中predict_proba用法(注意和predict的区别)

参考网址:https://blog.csdn.net/m0_37870649/article/details/79549142 # 返回预测标签 print(clf.predict(x_test)) # 返回预测属于某标签的概率 print(clf.predict_proba(x_test))...

小叮当_加V
9分钟前
0
0
docker swarm创建consul集群

version: '3.6'x-consul: &consul image: consul:latest volumes: - consul:/consulvolumes: consul:services: client: <<: *consul ports: - "8500:......

weidedong
11分钟前
0
0
Git客户端(TortoiseGit)基本使用详解

1、 环境安装 Git最新版下载地址:https://gitforwindows.org/ TortoiseGit,Git客户端,32/64位最新版及对应的语言包下载地址:https://tortoisegit.org/download/ 安装的方法,一直下一步就...

hblt-j
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部