`

计算时间差的函数C语言实现

阅读更多

// TimeTest.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <cmath>
#include <ctime>
#include <stdio.h>
#include<time.h>
#include "math.h"

//计算给定的时间是本年的第几秒
int count(int year,int month,int day,int hour,int minter,int second)
{int i,sum=0,flag=0;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1;i<month;i++)
sum=(a[i]*86400+sum);//非闰年年初到当前月的总秒数
if(year%400==0||year%100!=0&&year%4==0)
flag=1;
if(flag==1&&month>2)
//sum++;
sum=sum+86400;//多一天的秒数

sum=sum+(day-1)*86400;//加上本月月初到今天剩余的秒数
sum=sum+(hour-1)*3600;//加上当前小时数
sum=sum+(minter-1)*60;//加上当前分数
sum=sum+second;//加上当前秒数
return sum;

}


int _tmain(int argc, _TCHAR* argv[])
{
 while(1)
 {
 int year,month,day,hour,minter,second;
 time_t t;
 struct tm *local;
 int sum=0,i;
 t=time(NULL);
 local=localtime(&t);
 printf("现在的时间:%d年%d月%d日%d时%d分%d秒\n",local->tm_year+1900,local->tm_mon+1,local->tm_mday,local->tm_hour,local->tm_min,local->tm_sec);
 printf("输入时间:");
 scanf("%d%d%d%d%d%d",&year,&month,&day,&hour,&minter,&second);
 for(i=year+1;i<local->tm_year+1900;i++)
 {
  if(i%400==0||i%100!=0&&i%4==0)
   sum+=366*86400;
  else sum+=365*86400;//sum是计算间隔年之间的秒数
 }

 sum=abs((year-(local->tm_year+1900))*86400)+abs(count(year,month,day,hour,minter,second)-count(local->tm_year+1900,local->tm_mon+1,local->tm_mday,local->tm_hour,local->tm_min,local->tm_sec));
 
 printf("%d年%d月%d日%d时%d分%d秒距刚才有%d秒\n",year,month,day,hour,minter,second,sum);

  }
 return 0;
}

分享到:
评论

相关推荐

    C/C++获取(毫秒/微秒/纳秒级)系统时间差方法大全

    总结了常用的四种方法。包括: 方法一 利用 SYSTEMTIME 方法二 利用 GetTickCount()函数 方法三 使用clock()函数 方法四 获取高精度时间差 个人感觉还是很清晰明了的。希望对大家有用。

    基于C语言实现计算机网络技术【100011834】

    timer.c/h:计算时间辅助文件,实现了计算两个时间的差、设定时间等函数 transfer.c/h:传送和文件处理的函数封装文件,实现了传送过程中对接收数据、文件的处理函数,以及发送数据包函数 udpPacket.c/h:数据包类型...

    C语言实现计算机网络技术.zip

    timer.c/h:计算时间辅助文件,实现了计算两个时间的差、设定时间等函数 transfer.c/h:传送和文件处理的函数封装文件,实现了传送过程中对接收数据、文件的处理函数,以及发送数据包函数 udpPacket.c/h:数据包类型...

    数值计算消去法 C语言编写

    消元法是确定的解法,但在计算机里由于浮点数存在误差,所以实际上也是近似解,对于一些病态方程仍然无从下手,其时间复杂度在O(n3),对一些特殊方程的特殊解法除外,比如追赶法就是O(n)的线性时间复杂度,而...

    明解C语言(第3版)入门篇.[日]柴田望洋(带详细书签).pdf 【半高清】

    《明解C语言 第3版 入门篇》图文并茂,示例丰富,第3版从190段代码和164幅图表增加到205段代码和220幅图表,对C语言的基础知识进行了彻底剖析,内容涉及数组、函数、指针、文件操作等。对于C语言语法以及一些难以...

    浙江大学C语言上机练习题附答案

    90008 使用函数实现时间换算 63 90009 找出总分最高的学生 64 其它练习 65 20027计算旅途时间。 65 20028数字加密 66 教材习题3-4 (上机练习30009,统计学生成绩) 66 30061 出租车计费 67 教材习题4-12(p77) 68 ...

    c语言经典案例

    实例124 设计函数计算学生平均身高 164 实例125 求数组元素中的最小值 165 实例126 打印1~5的阶乘 166 实例127 求最大公约数和最小公倍数 167 实例128 求直角三角形的斜边 168 实例129 相对的最小整数 169 实例130 ...

    [新概念C语言].李一波.扫描版

    C语言教学效果较差,随着扩大招生而日益突出。 为了激发学生的学习兴趣,恢复其“学习一种程序设计语言,掌握基本算法和计算机化思维模式的程序设计语言”教学的本来目的,在多年教学实践的基础上我们重新设计了...

    C语言编程超声波

    本程序应用典型超声波返回时间差测距,利用80C51单片机 C语言编写,在硬件性能良好的要求下,误差在0.05米范围内

    c语言数据结构算法演示(Windows版)

    (1)计算阿克曼函数(AckMan) (2)栈的输出序列(Gen、Perform) (3)递归算法的演示  汉诺塔的算法(Hanoi)  解皇后问题的算法(Queen)  解迷宫的算法(Maze)  解背包问题的算法(Knap) (4)模拟银行...

    c语言编写单片机技巧

    嵌入式DSP专门用来处理对离散时间信号进行极快的处理计算,提高编译效率和执行速度。在数字滤波、FFT(Fast Fourier Transform)、频谱分析、图像处理的分析等领域,DSP正在大量进入嵌入式市场。 18. MCU在...

    C语言获取Linux系统精确时间的方法

    gettimeofday()函数的使用方法 1.函数原型 #include int gettimeofday(struct timeval *tv, struct timezone *tz); 2.说明 gettimeofday()会把目前的时间用tv 结构体返回,当地时区... /*和greenwich 时间差了多少分

    C程序范例宝典(基础代码详解)

    实例086 计算开机时间 111 3.2 链表 112 实例087 创建单向链表 112 实例088 创建双向链表 114 实例089 创建循环链表 117 实例090 双链表逆置 118 实例091 双链表逆序输出 120 实例092 约瑟夫环 122 ...

    基于28335实现的旋变软解码 1、在0-360°的范围内,与TI方案的偏差非常小,平均偏差最大为0.0009弧度左右,最大偏差

    信号解调: 利用三角函数积化和差公式将旋变输出信号分解为高频和低频两部分… 锁相环: 1、直接滤掉大部分高频成分,同时解析角度与转速… 2、自动补偿辅助低通滤波器带来的滞后… 滤波器: 置于特殊位置,使其滞后...

    Linux平台下数据库资源使用情况分析

    高级语言以典型的应用C语言和WEB开发语言PHP为例, C语言中可以用 gettimeofday 函数来在某一数据库操作之前和之后分别获取一个时间值,将两个时间值之差做为衡量该数据库操作的效率,在 PHP中,也可以用gettimeofday, ...

    VC 3D弹道仿真程序源码文件

     计算发射点地理纬度与地心纬度之差 函数  由发射点地理纬度计算发射点地心纬度 函数  由计算得到的弹道地心纬度求对应的地理纬度 函数  计算发射点处的地球半径 函数  计算弹道上任一点对应的的地球半径 函数 ...

    电信上网卡计时系统 简单有用

    计时开始运行一下程序,程序会把当前时间计到一个TXT文件中。计时结束运行一下程序。程序会计算时间差,写到TXT文件中,时间能累加。用于电信上网卡计时

    基于矩形麦克风阵列的改进的 GCC-PHAT语音定位算法 (2011年)

    本文通过削弱噪音互谱、加权信 噪比、应用相干函数等手段对原始的相位变换加权函数( PHAT)进行了改进,得到了一种改进的相位变换加权函数 ( MPHAT),以便在有噪情况下更准确地估计时间差。大量的仿真实验验证了本文...

    51单片机asm与C混合编程

    在单片机应用系统设计中,过去主要采用汇编语言开发程序。...1.1 在C51 中嵌入汇编程序在C51 中嵌入汇编程序主要用于实现延时或中断处理,以便生成精练的代码,减少运行时间。嵌入式汇编通常用在当汇编函数

Global site tag (gtag.js) - Google Analytics