C++ 技术中心

   :: 首页 :: 联系 ::  :: 管理
  160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

公告

郑重声明:本BLOG所发表的原创文章,作者保留一切权利。必须经过作者本人同意后方可转载,并注名作者(天空)和出处(CppBlog.com)。作者Email:coder@luckcoder.com

留言簿(27)

搜索

  •  

最新随笔

最新评论

评论排行榜

一.原由
    最近需要编写判断两个日期是否是属于同一周的判断。思路如下:
  将每个日期的星期几都归到周一,比如2011-6-23是周四。那将日期减去3天。为2011-6-21正好为周一
 。于是将两个日期都按上述方式调整。得到的日期,看是否相等。如果相等,说明两日期是在同一周。

二。具体代码如下:
int GetMonday(int Date)
{
    
struct tm t;
    time_t t_of_day;
    t.tm_year
=Date/10000-1900;
    t.tm_mon
=Date/100%100-1;
    t.tm_mday
=Date%100;
    t.tm_hour
=0;
    t.tm_min
=0;
    t.tm_sec
=0;
    t.tm_isdst
=0;
    t_of_day
=mktime(&t);

    
struct tm *pTmp =localtime(&t_of_day);

    
int day;
    
int week = pTmp->tm_wday;
    
if(week==0)
        week 
= 7;
    
    day 
= week - 1;
    t_of_day 
-= day*24*3600;
     
    
return t_of_day;
}




int _tmain(int argc, _TCHAR* argv[])
{
    
int aa = GetMonday(20110109);
    
int bb = GetMonday(20110110);
    
    
if(aa == bb)
    
{
        printf(
"为同一周内!\n");
        
return 0;
    }

    
    printf(
"不为同一周内!\n")
    

    
return 0;
}






posted on 2011-06-23 18:49 C++技术中心 阅读(2671) 评论(0)  编辑 收藏 引用 所属分类: C++ 基础

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理