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

在Visual FoxPro中生成EXE时如何修改日期格式{^yyyy-mm-dd}为{dd/mm/yyyy}

在Visual FoxPro中修改日期显示格式为dd/mm/yyyy(编译EXE适用)

全局应用级设置(推荐用于整个EXE)

如果希望整个应用的日期输入、显示都统一为dd/mm/yyyy格式,把以下命令放在你的主程序(.prg)开头,编译成EXE后会自动生效:

SET DATE TO DMY          && 设置日期顺序为日/月/年
SET CENTURY ON           && 强制显示4位年份
SET MARK TO '/'          && 设置日期分隔符为斜杠
SET STRICTDATE TO 0      && 可选:放宽日期格式检查,避免输入报错(按需开启)

这样所有默认的日期显示(比如表单控件、报表字段、命令窗口输出)都会遵循dd/mm/yyyy格式。

单个日期的格式化输出(局部场景)

如果只需要在特定地方转换日期格式、不影响全局设置,可以用函数组合实现固定格式:

* 假设dateVar是你的日期变量/字段
formattedDate = PADL(DAY(dateVar), 2, '0') + '/' + ;
                PADL(MONTH(dateVar), 2, '0') + '/' + ;
                STR(YEAR(dateVar), 4)
? formattedDate  && 输出示例:15/08/2024

或者用DTOC函数配合字符串截取:

formattedDate = SUBSTR(DTOC(dateVar, 3), 4, 2) + '/' + ;
                SUBSTR(DTOC(dateVar, 3), 1, 2) + '/' + ;
                SUBSTR(DTOC(dateVar, 3), 7, 4)

表单控件的日期格式设置

如果是表单中的日期输入/显示控件(比如文本框、日期控件),可以直接设置控件属性:

  • InputMask:设置为99/99/9999,强制输入格式为两位日/两位月/四位年
  • Format:设置为D,结合全局的SET DATE设置,确保显示符合dd/mm/yyyy
  • 若要完全固定显示格式,也可以在控件的ControlSource里直接绑定格式化后的表达式(比如上面的formattedDate)

报表中的日期格式设置

报表里的日期字段如果要确保格式统一,最好直接在字段表达式里写格式化逻辑,避免受系统环境影响:

PADL(DAY(你的日期字段), 2, '0') + '/' + PADL(MONTH(你的日期字段), 2, '0') + '/' + STR(YEAR(你的日期字段), 4)

注意事项

  • VFP的日期常量{^yyyy-mm-dd}是内部存储格式,不会因为显示格式设置而改变,修改的只是输入和输出的呈现形式
  • 编译EXE时,主程序的SET命令要放在所有表单、报表加载之前,确保全局设置生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:48:25