You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Embarcadero C++Builder 10.2的TDateTimePicker中设置当前日期?

解决C++Builder 10.2中TDateTimePicker默认设为当日的问题

这个问题很常见,主要是混淆了Delphi和C++Builder的语法差异导致的。我来一步步帮你解决:

1. 错误原因:DateTime.Now是Delphi语法,C++Builder不支持

在C++Builder里,没有DateTime这个顶层类名,获取当前日期时间需要用全局函数Now(),或者TDateTime::Now()(两者效果一致)。不过要确保你已经包含了必要的头文件:

#include <SysUtils.hpp>

这个头文件定义了Now()函数和TDateTime类,缺少它的话编译器会提示未定义符号。

2. 设置TDateTimePicker为当日的正确代码

在TForm3::FormCreate事件里,直接给DateTimePicker的Date属性赋值当前日期即可:

void __fastcall TForm3::FormCreate(TObject *Sender)
{
    // 只设置日期部分
    DateTimePicker1->Date = Now();
    
    // 如果需要同时设置日期和时间(比如你的DateTimePicker是带时间的模式),用DateTime属性:
    // DateTimePicker1->DateTime = Now();
}

3. 关于你提到的"下拉列表没找到合适方法"

TDateTimePicker的日期设置不是通过方法,而是直接修改Date或DateTime属性——这是VCL控件的常见设计,属性用来控制状态,方法用来执行动作。你可以在代码编辑器里直接输入DateTimePicker1->Date然后赋值就行,不需要找下拉列表里的方法。

如果还是有问题,检查一下你的DateTimePicker的Kind属性:如果设为dtkDate,就用Date属性;如果是dtkTime或dtkDateTime,用DateTime属性更合适。

内容的提问来源于stack exchange,提问作者user427921

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:14:20