您现在所在的是:

嵌入式系统

回帖:0个,阅读:778 [上一页] [1] [下一页]
* 帖子主题:

Ansi C 中time专题(qzm)

1137
xingsharp
文章数:119
年度积分:48
历史总积分:1137
注册时间:2005/3/2
发站内信
08年优秀博客奖
发表于:2009/4/10 12:00:00
#0楼
(5)  如何实现后台程序的关于时间的处理与终端机的关于时间的处理之间的完全兼容,开始想用 time_t来实现,后来发现这样做并不好,下面是本人在用例测试中的总结:
a、vc9.0 的time_t 是64位的无符号整数,以1970年 为开始时间
b、
mdk中的time_t是32位的无符号整数,以1970年 为开始时间
c、labwindowscvi 9.0的time_t是32位的无符号整数,以1900年为开始时间
如果我上位机用的是vc,那就可以直接用time_t作为时间数结构结来在上位机和下位机之间进行时间交换。但我了cvi,而且,从程序的维护角度来讲,这样直接用time_t来做为上下位机的时间交换,也不好。因此,2009年4月10日我决定写一个自已的time module ,让上位机和下位机都用它来写与时间相关的代码。

(4) vc 中的time module 完全解决了2038这个bug,而cvi和mdk中的time还存在着“2038”这个世纪bug,和“2000”相似。
(3)
/*  leap year is any year divisible by four, but not by 100 unless also
     *  divisible by 400    ( 那年是闰年的计算公式)
     */
#define


isleapyear
(y) ((!(y % 4)) ? (((!(y % 400)) && (y % 100)) ? 1 : 0) : 0)

(2) 一个包含 time.c and time.h源码的压缩包, 给想写自已的time的programmer 作为参考.
http://blog.gkong.com/images/file/zip.gif" alt='图' onload="img_onload(this,{t:1})" />
time.rar
(来自:http://www.apache.org)

(1)
http://blog.gkong.com/images/file/zip.gif" alt='图' onload="img_onload(this,{t:1})" />
vc中的日期和时间 time_t与struct tm转换.mht.rar
(去掉.rar用ie打开即可, 细节讲得不错).

----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=83953&Name=zjcsharp

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

31.2002