没啥技术含量,只不过是在没事干,就把这个也记上,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. 模糊综合评价法用什么软件实现_基于建管养一体化模式的钢桥面铺装方案综合评价分析...
  2. Project Explore 再现
  3. POJ 1057 File Mapping 最详细的解题报告
  4. oracle数据库第八章答案,Oracle培训(三十)——Oracle 11g 第八章知识点小结——处理数据...
  5. I00029 C语言程序-打印九九乘法表
  6. 密码学专题 口令输入的方式
  7. 传统手工特征--opencv
  8. 大三软件工程小项目-小技术集合-读取XML文件及运行外部程序
  9. 如何在Hyper-V上安装Centos7
  10. HLA程序:HelloWorld.hla
  11. Lambda 表达式与 Stream
  12. 计算机台账管理工作总结,台账工作总结(共6篇汇总).doc.docx
  13. 【并查集】亲戚(Relations)
  14. 一级b类计算机考试题目和类型,第五章计算机一级B类高职考试习题资料.doc
  15. 数据降维(四)ISOMAP
  16. 如何官网下载 IEEE 论文 Latex 和 Word 模板
  17. tplink怎样设置虚拟服务器,tplink怎么设置虚拟服务器
  18. 无线ap 热图测试软件,无线AP功能测试
  19. 内网通道构建——socks
  20. 资深程序员雷总对代码的执念

热门文章

  1. python 连接sql server
  2. [JSOI2008]最大数maxnumber
  3. 一些关于虚拟交易的有趣文章
  4. C/C++的memset函数的说明和使用
  5. (三)图像的放大和缩小
  6. Python配置opencv并在命令行运行
  7. 安徽省级办公室高级应用计算机二级,2019年9月安徽省计算机等级二级考试教程:二级MSOffice高级应用上机指导...
  8. 任天堂 虚拟主机服务器,任天堂 虚拟主机服务器
  9. 两台具有独立操作系统的计算机,第1章计算机网络习题与思考题参考答案
  10. html代码放进json数据,用json数据填充html表