最近在开发一个程序,需要显示当前时间和运行时间。
比如当前时间:10:00:08 运行时间 00:01:18
这里要定义两个类成员wxDateTime,一个保存
初始时间,一个保存当前时间。不过本人比较有强迫症
不想定义那么多变量。
所以刚开始是这么表示运行时间的
void OnTimer(wxTimerEvent& event)
{
static long total= 0 ;
total++;
int h = total/3600;
int m = (total/60)%60;
int s = total%60;
wxString str;
str.printf(wxT("%02%02d%02d"),h,m,s);
//说来也怪,不定义 h m s临时变量一直搞不成功
//可能是total是long类型的原因,搞了好久没搞定嗨
wxDateTime now = wxDateTime::Now();
//刚开始没用wxDateTime::Now()来构造,一直崩溃
wxString strNow = now.FormatISOTime();
//手写的代码,可能有小错
//因为最后我没这样写,写错了好多次
}
后来就是定义了两个变量的版本的
void OnTimer( wxTimerEvent& event )
{
nowTime = wxDateTime::Now();
wxString now =nowTime.FormatISOTime();
wxTimeSpan diff = nowTime.Subtract(beginTime);
wxString now =diff.Format();
//TimeSpan的Format是HH::MM:SS格式的
}