CTime 使用总结

原创 2005年04月22日 16:41:00

1.初始化

     m_begintime=CTime(2004,1,1,0,0,0,-1);//参数依次为year,month,day,hour,minite,second
     m_endtime =CTime::GetCurrentTime();//当前时间

2.日期比较

 CTimeSpan span;

span=time1-time2;

得到两时间的间隔.

可以取得span.GetHours().等

3.access数据库查询

使用DateDiff()函数,具体参照access帮助

CString timesql;
 timesql.Format(" Where DateDiff('d',%s,'%s')<=0","日期",m_begintime.Format("%Y-%m-%d"));

 

4读取日期字段(odbc)

    CDBVariant var;
     recset.GetFieldValue(i,var);
    s.Format("%d-%d-%d",(var.m_pdate)->year,(var.m_pdate)->month,
     (var.m_pdate)->day);

5.CTime转换为CString

  例:
   m_begintime.Format("%Y-%m-%d");//2004-10-03

 

6.CString转换为CTime

    //s="2004-10-5"
   int first=s.Find('-');
   int second=s.Find('-',first+1);

   int year=atoi(s.Left(4));
   int month=atoi(s.Mid(first+1,second-first+1));
   int day=atoi(s.Mid(second+1,s.GetLength()-second-1));
   CTime temp(year,month,day,0,0,0);

7.判断CString是否表示的正确日期格式

//判断是否为2004-01-13  ch 可代表其他分隔符
bool IsDate(CString str,char ch)
{
 if(str.IsEmpty()) return false;
 //日期分段
 int first=str.Find(ch);
 int second=str.Find(ch,first+1);

 int year=atoi(str.Left(4));
 int month=atoi(str.Mid(first+1,second-first+1));
 int day=atoi(str.Mid(second+1,str.GetLength()-second-1));
    //判断
 if (year < 2000 || year >= 2010)
 {
  return false;
 }
 else if (month< 1 || month >12)
 {
  return false;
 }
 else if (day< 1 || day > 31)
 {
  return false;
 }
 else if (month == 4 || month == 6 || month == 9 || month == 11)
 {
  if(day > 30)
  {
   return false;
  }
  else
  {
   return true;
  }
 }
 else if (month == '2')
 {
  if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
  {
   if (day>29)
   {
    return false;
   }
   else
   {
    return true;
   }
  }
  else if (day>28)
  {
   return false;
  }
  return true;
 }
 else
 {
  return true;
 }
   

}

ctime库函数的使用

本文探讨了C/C++中对日期和时间操作所用到的常用功能,并以大量的实例向你展示了#include 头文件中声明的各种函数和数据结构的详细使用方法. 基本概念的理解: Coordinated Uni...
  • bladelyer
  • bladelyer
  • 2012年01月06日 13:10
  • 3608

MFC常用类CTime

1、日期和时间类简介        CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。        CTime类和CTimeSpan类一般不...
  • lebao82
  • lebao82
  • 2013年09月29日 15:03
  • 10527

CTime类,CTime 与 CString转换

CTime类,CTime 与 CString转换 1 获取当前时间 CTime time = CTime::GetCurrentTime(); 其中GetYear( ),GetMonth...
  • a8082649
  • a8082649
  • 2012年06月11日 19:46
  • 14710

时间函数的用法(ctime)

/C++对时间的操作也有许多值得大家注意的地方。最近,在技术群中有很多网友也多次问到过C++语言中对时间的操作、获取和显示等等的问题。下面,在这篇文章中,笔者将主要介绍在C/C++中时间和日期的使用方...
  • u010679895
  • u010679895
  • 2013年08月21日 23:58
  • 3402

关于CTime ,即time_t 详解

Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00...
  • lupyhlp0925
  • lupyhlp0925
  • 2014年07月18日 17:01
  • 1100

随机数与随机种子

对随机数的使用较少,因此没有深入了解过其产生原理。这里涉及到两个函数,rand()和srand(),前者是生成一个伪随机数,后者是生成一个随机种子。 一、rand() rand()可以生成一个...
  • hulifangjiayou
  • hulifangjiayou
  • 2015年08月15日 11:16
  • 9104

ctime类详解

  • 2012年11月13日 15:42
  • 59KB
  • 下载

C++ <ctime>(time.h)库笔记 以及简便计算日期差等

C++ (time.h)库笔记 以及简便计算日期差等
  • l773575310
  • l773575310
  • 2016年11月21日 12:44
  • 2140

CTime类的头文件以及输出当前时间

废话不多说直接上代码!        #include#includeusing namespace std;int main(){ CTime time = CTime::GetCu...
  • langaer
  • langaer
  • 2017年05月24日 11:07
  • 1472

CTime

2009-06-02 15:56:45|  分类: 网摘天下|举报|字号 订阅 CTime CTime==>CString CTime time; ti...
  • zyh506458036
  • zyh506458036
  • 2014年06月11日 17:40
  • 414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CTime 使用总结
举报原因:
原因补充:

(最多只允许输入30个字)