c++builder中日期时间控件Tdatetimepicker不能同时更改日期和时间,只好用了2个控件,其中一个kind属性改为dtkTime表明是时间,另一个默认是日期,设置2个空间change事件联动,最后取值与time_t转换
void __fastcall TmodifyoperationForm::dtpChange(TObject *Sender)
{
if(this->dtp2->Date != this->dtp->Date)
this->dtp2->Date = this->dtp->Date;
}
void __fastcall TmodifyoperationForm::dtp2Change(TObject *Sender)
{
if(this->dtp->Time != this->dtp2->Time)
this->dtp->Time = this->dtp2->Time;
}
TDateTime Time_t_to_TDateTime(time_t t)
{
struct tm *tmWk;
SYSTEMTIME SystemTime;
tmWk = localtime(&t);
SystemTime.wYear = tmWk-> tm_year + 1900;
SystemTime.wMonth = tmWk-> tm_mon + 1;;
SystemTime.wDay = tmWk-> tm_mday;
SystemTime.wHour =tmWk-> tm_hour;
SystemTime.wMinute =tmWk-> tm_min;
SystemTime.wSecond =tmWk-> tm_sec;
SystemTime.wMilliseconds = 0;
return SystemTimeToDateTime(SystemTime);
}
dtp->DateTime=Time_t_to_TDateTime(datetime);//给控件赋值
#include <DateUtils.hpp>
time_t t=SecondsBetween( this->dtp->DateTime,25569 );从控件得到值