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::Format参数使用说明

  • 2010年08月07日 10:35
  • 30KB
  • 下载

Find–atime –ctime –mtime的用法与区别总结

周五有同事问起find命令中-mtime n、-mtime –n以及-mtime +n的用法区别,当时虽然记得这里n是n个24个小时的意思,也是对所有这几个属性详细的用法却一知半解,索性周末仔细goo...

VC++中CTime类的使用

VC++中CTime的几种用法:获得当前日期和时间CTime tm=CTime::GetCurrentTime();CString str=tm.Format(“%Y-%m-%d”);在VC中,我们可...
  • isongbo
  • isongbo
  • 2015年11月03日 17:16
  • 1521

CTime类format的使用

使用CTime类可以很方便地取得当前系统时间并转换为各种格式       The format argument consists of one or more codes; as in printf...
  • Augusdi
  • Augusdi
  • 2011年12月04日 11:47
  • 692

CTime与COleDateTime时间操作类的使用

1、CTime类的常见使用 获取当前时间: CTime time; time = CTime::GetCurrentTime(); 获取时间里面的各个元素: int year = tim...

MFC CTime 类的详细使用方法

1、日期和时间类简介        CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。        CTime类和CTimeSp...

MFC CTime类使用方法

Linux命令之find命令中的mtime-ctime-atime应用总结

有同事问起find命令中-mtime n、-mtime –n以及-mtime +n的用法区别,当时虽然记得这里n是n个24个小时的意思; 也是对所有这几个属性详细的用法却一知半解,索性周末仔细goo...
  • liuzx32
  • liuzx32
  • 2015年04月23日 11:59
  • 427

C++CTime使用方法

函数: ctime   功 能: 把日期和时间转换为字符串   用 法: char *ctime(const time_t *time);   程序例:   #...
  • ys_073
  • ys_073
  • 2012年08月28日 10:04
  • 11546

CTime类及其变量使用

一、CTime类的成员:GetDays();         // 返回日数GetHours();        // 返回小时数(-23至23之间)GetTotalHours();   // 返回总...
  • codeeer
  • codeeer
  • 2011年07月10日 15:52
  • 4398
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CTime 使用总结
举报原因:
原因补充:

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