• VC控件DateTimePicker使用方法


     出自http://www.cnblogs.com/52yixin/articles/2111299.html

    使用DateTimePicker控件一般是获 取其时间替代手工输入带来的不便,而DateTimePicker控件既可以获取日期(2010-03-05)也可以获取时间(16:27:33),要获 取日期只需要更改控件属性的格式为长日期或短日期,要获取时间则将格式更改为时间即可!

             在添加控件变量时,选择其变量类型为CDateTimeCtrl(类如m_DateCtrl);在程序中定义CTime对象用来保存获取的时间,然后可以将其转换为CString类型;具体实现:

    复制代码
    1        CTime time;
    2 m_DateCtrl.GetTime(time);
    3 CString strTime=time.Format("%Y-%m-%d") //获取到的为日期 如:2010-03-05
    4
    5 CTime time;
    6 m_DateCtrl.GetTime(time);
    7 CString strTime=time.Format("%H:%M:%S") //获取到的为时间 如:16:27:33
    复制代码

    VC2005中DateTimePicker控件的使用

    复制代码
     1 1 显示年月日时分秒的当前时间
    2 CDateTimeCtrl m_DateItmeCtrl_Time;
    3 m_DateItmeCtrl_Time.SetFormat(_T("yyyy-MM-dd HH:mm:ss"));
    4 CTime TimeTemp=TimeTemp.GetCurrentTime();
    5 m_DateItmeCtrl_Time.SetTime(&TimeTemp);
    6
    7 其中HH表示24小时制,hh表示12小时制
    8 2 如果声明一个控件类型为CTime的变量,那么时间将显示1970-01-01 08:00:00.
    9
    10 3将DateTimePicker控件声明变量类型为COleDateTime
    11 COleDateTime转CString
    12 CString strTime;
    13 COleDateTime dtTime;
    14 strTime =dtTime.Format(_T("%Y-%m-%d %H:%M:%S"));
    复制代码


    CString转COleDateTime(因为VS2005时间日期控件关联的Value变量默认是COleDateTime类型)

    1 CString strTime =_T("2009-08-11 11:22:33");
    2 COleVariant VariantTime;
    3 VariantTime = strTime;
    4 VariantTime.ChangeType(VT_DATE);
    5 COleDateTime DataTime = VariantTime;

    SetTime时 参数需要为指针

    复制代码
     1   m_ctrlMachineDeliveryDate.SetTime(&CTime::GetCurrentTime()); //将控件显示当前日期
    2 m_ctrlMachineInstallDate.SetTime(&CTime::GetCurrentTime());
    3
    4
    5
    6 CTime tDeliveryDate;
    7 m_ctrlMachineDeliveryDate.GetTime(tDeliveryDate); //获取发货日期
    8 pMachineInfoSet->m_MACHINE_DELIVERYDATE = tDeliveryDate;
    9
    10
    11
    12 CTime tDeliveryDate;
    13 tDeliveryDate = pMachineInfoSet->m_MACHINE_DELIVERYDATE; //获取记录中的日期
    14 m_ctrlMachineDeliveryDate.SetTime(&tDeliveryDate); //将记录中的日期赋值到DateTime控件中显示
    复制代码

     // 设定时间日期控件允许选择的范围

    复制代码
     1  CTime tCurrentTime= CTime::GetCurrentTime();
    2 CTimeSpan timespanOneMonth(30,0,0,0); //这里设置为当前日期推后30天
    3 CTime tEndTime = tCurrentTime +timespanOneMonth;
    4 m_ctrlADTipsDaysDate.SetRange(&tCurrentTime,&tEndTime);
    5 /*
    6 m_dtcTm:这个是DATE TIME PICKER控件变量
    7 CTime begin_tm(1970,1,1,8,0,0),end_tm(2038,1,19,3,14,7);
    8 m_dtcTm.SetRange(&begin_tm,&end_tm);
    9 m_tmClock=CTime::GetCurrentTime();//设置初始值为当前时间
    10 m_dtcTm.SetTime(&m_tmClock);
    11 //m_dtcTm.SetFormat("yyyy-MM-dd HH'时'mm'分'"); //设置字符串格式
    12 m_dtcTm.SetFormat("yyyy-MM-dd HH:mm:ss");
    13 */

  • 相关阅读:
    怎么能让json_decode解析带斜杠的字符串
    **PHP转义Json里的特殊字符的函数
    sql中exists,not exists的用法
    **mysql数据库中实现内连接、左连接、右连接
    **PHP foreach 如何判断为数组最后一个最高效?
    mysql sql语句中用括号处理or和and的运算顺序
    iOS图片缓存
    linux regulator之浅见【转】
    Linux中THIS_MODULE宏定义详解
    likely()与unlikely()
  • 原文地址:https://www.cnblogs.com/chenshaogang/p/4312709.html
Copyright © 2020-2023  润新知