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

如何在C++ Builder 6中从MonthCalendar控件获取日/月/年日期并应用于年龄计算器程序

在C++ Builder 6中获取MonthCalendar控件的选中日期

嘿,我对C++ Builder 6里的MonthCalendar控件可太熟悉了,这就手把手教你怎么拿到用户选中的日、月、年数据!

核心思路:利用TDateTime类型和日期拆分函数

MonthCalendar控件的选中日期是以TDateTime类型存储的,我们可以直接获取这个对象,再用C++ Builder自带的函数拆分出具体的日、月、年。

具体步骤和代码示例

比如你可以在一个按钮的点击事件里写这段代码,来测试获取日期:

#include <SysUtils.hpp> // 如果没自动包含的话记得加这个

void __fastcall TForm1::btnGetDateClick(TObject *Sender)
{
    // 第一步:获取控件选中的日期
    TDateTime selectedDate = MonthCalendar1->Date;

    // 第二步:拆分出日、月、年
    int selectedDay = DayOfMonth(selectedDate);
    int selectedMonth = MonthOfYear(selectedDate);
    int selectedYear = YearOf(selectedDate);

    // 第三步:用这些值做你想做的事——比如弹出提示框显示
    ShowMessage(Format("你选中的日期是:%d年%d月%d日", ARRAYOFCONST((selectedYear, selectedMonth, selectedDay))));
}

另一种方法:使用GetDateTime函数

如果你习惯用方法调用的方式,也可以用控件的GetDateTime方法来获取日期,效果和直接访问Date属性完全一样:

TDateTime selectedDate;
MonthCalendar1->GetDateTime(selectedDate);
// 后续的拆分代码和上面完全相同

额外提示:处理范围选择(如果需要的话)

要是你的MonthCalendar允许用户选择一个日期范围,那可以用SelStart和SelEnd属性分别获取范围的起始和结束日期,用法和Date属性一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 22:42:36