没啥技术含量,只不过是在没事干,就把这个也记上,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;
}

计算从1970年到现在累计的秒数相关推荐

  1. C计算1970年到现在时间的秒数

    //*********************************************** //函数功能:计算1970年到现在时间的秒数 //入口参数:Y,M,D,h,m,s当前的年,月,日, ...

  2. MySql计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数

    计算两日期时间之间相差的天数,秒数,分钟数,周数,小时数,这里主要分享的是通过MySql内置的函数 TimeStampDiff() 实现. 函数 TimeStampDiff() 是MySQL本身提供的 ...

  3. java 根据日期计算当前周一和周日,及根据秒数计算天小时分钟秒数等相关日期

    日期工具类 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; ...

  4. 计算两时间段的重合天/小时/分钟/秒数(末尾附完整代码)

    说明: 有时候我们在计算时间时,有让获取两时间段重合的天数这种需求,小编也是遇到了这样的需求,就封装了一个工具类,希望能帮助到大家. 我们先进行分析 求两个时间段重合的天数,例如求(2022-05-0 ...

  5. 计算1970距今的秒数

    第一种方法,可以直接使用date命令获取 date +%s -d '2017-1-1 12:30:00' 值得注意的是,这个秒数带了时区计算,所以得额外判断时区 写C函数计算 #define is_l ...

  6. 1970年1月1日到现在的秒数计算日期

    1970年1月1日到现在的秒数计算日期 #include <stdio.h>int year=1970; int month=1; int day=1; int yuefen[12] = ...

  7. golang小案例 —— 1970 年1月1日到现在的时间秒数计算出现在的日期时间

    根据1970 年1月1日到现在的时间秒数计算出CHINA现在的日期时间(考虑闰年,平年,时区等因素) package mainimport ("time""fmt&quo ...

  8. 音频通道数、采样频率、采样位数、采样个数(样本数)的概念及计算一帧音频的大小、每秒播放的音频字节大小、一帧的播放时长、音频重采样

    对于下面data和linesize的解释(参考下面3.4中的av_samples_alloc_array_and_samples函数说明): 1)data是通道的意思,例如双通道,data[0]代表左 ...

  9. 时间字符串转换成自1970年1月1日以来持续时间的秒数

    时间格式是:20180702 00:15:45,这个时间是我所需要的格式. time_t MriUIBI::convert_a_to_i(char * str_time) {struct tm tt; ...

最新文章

  1. PyInstaller库的使用
  2. 微信小程序把玩(十一)icon组件
  3. Careercup - Google面试题 - 5424071030341632
  4. Git SSH key配置
  5. golang杀死java_用Golang来保护Java程序-Go语言中文社区
  6. php curl 发送checkbox,使用curl 提交表单(多维数组+文件)数据到服务器的有关问题...
  7. 7-将本地的javaweb项目部署到Linux服务器的一般操作
  8. 数据分析与R语言视频教程
  9. 左程云代码java_《程序员代码面试指南》-左程云高清PDF+源代码
  10. figtree需要在JAVA下运行吗_用一个Java程序出问题了
  11. win10和win8双系统安装
  12. Network | Socket连接建立步骤
  13. C#通过类的继承来实现判断任意一个三角形并求出它们的周长及面积(等腰三角形,等边三角形,直角三角形,等腰直角三角形)
  14. 华为鸿蒙系统失败,世界首富很无奈,第三大手机系统失败,华为鸿蒙会成功吗...
  15. java jmf获取图像_用JMF打开摄像头获取图像
  16. 2019年最佳WordPress社交媒体插件
  17. 【解决方案】AI视频结构化智能安防平台EasyCVR保护小区居民安全智能监控方案
  18. 百度搜索技术沙龙感悟
  19. 如何快速产生流量,流量精灵使用方法
  20. 神经网络(十)激活函数DLC

热门文章

  1. 用Java实现非阻塞通信
  2. 【ROS学习笔记】(八)服务数据的定义与使用
  3. 数据结构笔记(十四)-- 串的模式匹配算法
  4. 没有php5.sowenjian_(转)LINUX下PHP编译添加相应的动态扩展模块so(不需要重新编译PHP,以openssl.so为例...
  5. android 同步list数据,android SharedPreferences保存list数据
  6. oracle数据块坏,Oracle数据块损坏解决办法
  7. android都图片mat_普通Android码农,该如何逆袭月薪5W的移动端架构师?
  8. 高度为5的3阶b树含有的关键字个数_B-树和B+树的应用:数据搜索和数据库索引...
  9. 查看mysql5.7默认密码_mysql-5.7安装部署+MySQL5.7初始密码查看及重置
  10. c++ floor 赋值_C++之floor函数