请教各位高手:如何提取时间的小时

zgp0312 2003-10-17 11:59:14
如果想把时间(比如,9:35)的小时数(9)提出来,怎么实现?
有专门的函数吗?
...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangjuliang 2003-10-18
  • 打赏
  • 举报
回复
你这个i定义的地方不对,定义在函数外面就可以了!

实际上完全没有必要写在Timer里的!

直接写在onButton事件里就可以了!

具体代码如下:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x[100],i;
i=StrToInt(FormatDateTime("h",Now()));
for(int j=i;j<24;j++)
{
x[j]=j;
}
}
cupidvenus 2003-10-18
  • 打赏
  • 举报
回复
还可以用:
TDateTime tmp = Now();
i = (tmp - (int)(tmp)) * 24;
cupidvenus 2003-10-18
  • 打赏
  • 举报
回复
你把i定义成全局变量或Form1的成员。
zoohoo 2003-10-17
  • 打赏
  • 举报
回复
localtime、gmtime
fancy05 2003-10-17
  • 打赏
  • 举报
回复
Now().CurrentDate() ;
Kabin 2003-10-17
  • 打赏
  • 举报
回复
FormatDateTime("h",Now());
Kabin 2003-10-17
  • 打赏
  • 举报
回复
随便哪里调用都可以

你这样定义的i是内部变量,其他函数当然不可以调用啦
全局变量要在函数外定义
zgp0312 2003-10-17
  • 打赏
  • 举报
回复
to 上面各位大侠:
我已经试过了可以提出来,但是我还要把 这个值付给一个变量i,i在其他的函数下进行运算

问题:提取这个函数 是不是必须在时间控件TTimer的Timer事件下运行?
如果是,我把得到的值付给了一个全局变量i,可是在另外的函数里面为什么i值没有值呢?
如果不是又该如何调用呢?

void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x[100];
for(int j=i;j<24;j++)
{
x[j]=j;
}
}
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{ int i;
i=StrToInt(FormatDateTime("h",Now()));
}

552

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 茶馆
社区管理员
  • 茶馆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧