首页 > 解决方案 > 在 MS-Access/VBA 中查找 OS 短日期格式字符串

问题描述

我正在寻找一个将当前操作系统短日期格式(例如:、、、等)作为字符串返回的M/d/yyyyVBAdd-MMM-yy函数yy/MM/dd。我在使用 的相关帖子上找到了 MS Excel 的此类功能Application.International,但它们不适用于 MS Access。

例如,如果显示“08-11-11”,我希望能够在我的表单中显示操作系统日期格式以避免混淆。使用CDate(),我的日期会自动格式化为 Windows 日期和时间设置中设置的任何内容。但是,用户可能没有意识到这一点。

标签: vbams-access

解决方案


只需从注册表中提取它。

方法有很多,我用的方法:

CreateObject("WScript.Shell").RegRead("HKCU\Control Panel\International\sShortDate")

当然,也可以使用 WinAPI 读取注册表。

如果真的不希望读取注册表,您始终可以格式化一个不同的日期,例如:

Format(#2/1/3333#, "Short Date")

然后解析结果得到格式


推荐阅读