| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5043 人关注过本帖, 1 人收藏
标题:求助:如何把时间转换成从1970.01.01 00:00:00开始的秒数?
只看楼主 加入收藏
zb95
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2008-11-22
结帖率:94.44%
收藏(1)
已结贴  问题点数:20 回复次数:6 
求助:如何把时间转换成从1970.01.01 00:00:00开始的秒数?
先谢过各位了!

情况是这样的,现有  年,天(某年的第几天),时,分,秒 怎么转换成从1970.01.01 00:00:00开始的秒?

谢谢了
搜索更多相关主题的帖子: 时间 
2011-03-17 10:59
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:5 
#include <time.h>

time_t mktime( struct tm *timeptr );
2011-03-17 11:04
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:5 
学习结构的时候做过的练习,供楼主参考。
程序代码:
root@~ #cat lx92.c
#include <stdio.h>

struct date {
        int year;
        int month;
        int day;
        int hour;
        int minute;
        int second;
};

int main (void) {

        int getDaysOfDate (struct date d);
        struct date theday;
        struct date seventy={ 1970,01,01,0,0,0 };
        int Days,totalsec=0;

        printf ("Enter date [yyyy mm dd hh:mm:ss]:");
        scanf ("%i %i %i %i:%i:%i",&theday.year,&theday.month,&theday.day,
                        &theday.hour,&theday.minute,&theday.second);

        totalsec=theday.hour*3600+theday.minute*60+theday.second;

        Days=getDaysOfDate(theday)-getDaysOfDate(seventy);

        totalsec=totalsec+Days*24*3600;
        printf ("%i%\n",totalsec);

        return 0;

}

int getDaysOfDate (struct date d) {

        int days;

        if(d.month<=2) {
                days=1461*(d.year-1)/4+153*(d.month+13)/5+d.day;
        }else{
                days=1461*d.year/4+153*(d.month+1)/5+d.day;
        }

        return days;

}
root@~ #

测试 还有些误差
root@~ #date +%s
1300332284
root@~ #./lx92
Enter date [yyyy mm dd hh:mm:ss]:2011 3 17 11:24:0
1300361040
root@~ #

[ 本帖最后由 ansic 于 2011-3-17 11:27 编辑 ]

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-17 11:26
新手写程序
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:120
注 册:2011-3-5
收藏
得分:5 
#include <time.h>
       char *asctime(const struct tm *tm);
       char *asctime_r(const struct tm *tm, char *buf);
       char *ctime(const time_t *timep);
       char *ctime_r(const time_t *timep, char *buf);
       struct tm *gmtime(const time_t *timep);
       struct tm *gmtime_r(const time_t *timep, struct tm *result);
       struct tm *localtime(const time_t *timep);
       struct tm *localtime_r(const time_t *timep, struct tm *result);
       time_t mktime(struct tm *tm);
       Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
       asctime_r(), ctime_r(), gmtime_r(), localtime_r():
       _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _BSD_SOURCE || _SVID_SOURCE ||
       _POSIX_SOURCE
DESCRIPTION
       The ctime(), gmtime() and localtime() functions all take an argument of
       data  type  time_t which represents calendar time.  When interpreted as
       an absolute time value, it represents the  number  of  seconds  elapsed
       since 00:00:00 on January 1, 1970, Coordinated Universal Time (UTC).
 struct tm {
               int tm_sec;         /* seconds */
               int tm_min;         /* minutes */
               int tm_hour;        /* hours */
               int tm_mday;        /* day of the month */
               int tm_mon;         /* month */
               int tm_year;        /* year */
               int tm_wday;        /* day of the week */
               int tm_yday;        /* day in the year */
               int tm_isdst;       /* daylight saving time */
   };
2011-03-17 11:50
新手写程序
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:120
注 册:2011-3-5
收藏
得分:0 
#include <time.h>
       time_t time(time_t *t);
DESCRIPTION
       time() returns the time since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds.
       If t is non-NULL, the return value is also stored in the memory pointed to by t.
2011-03-17 11:51
变幻小子
Rank: 6Rank: 6
来 自:广东陆丰
等 级:侠之大者
帖 子:188
专家分:473
注 册:2011-3-4
收藏
得分:5 
小鸟路过

明天的梦
2011-03-17 14:11
快速回复:求助:如何把时间转换成从1970.01.01 00:00:00开始的秒数?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028926 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved