vba - 在 MS-Access/VBA 中查找 OS 短日期格式字符串
问题描述
我正在寻找一个将当前操作系统短日期格式(例如:、、、等)作为字符串返回的M/d/yyyy
VBAdd-MMM-yy
函数yy/MM/dd
。我在使用 的相关帖子上找到了 MS Excel 的此类功能Application.International
,但它们不适用于 MS Access。
例如,如果显示“08-11-11”,我希望能够在我的表单中显示操作系统日期格式以避免混淆。使用CDate()
,我的日期会自动格式化为 Windows 日期和时间设置中设置的任何内容。但是,用户可能没有意识到这一点。
解决方案
只需从注册表中提取它。
方法有很多,我用的方法:
CreateObject("WScript.Shell").RegRead("HKCU\Control Panel\International\sShortDate")
当然,也可以使用 WinAPI 读取注册表。
如果真的不希望读取注册表,您始终可以格式化一个不同的日期,例如:
Format(#2/1/3333#, "Short Date")
然后解析结果得到格式
推荐阅读
- python-3.x - 如何将类型注释解析为启用 PEP563 的本地类型
- sequelize.js - 如何知道实例中是否调用了更新?续集
- android - Android 设备 - 远程镜像
- php - 文件上传在 php 后端不起作用。阅读后找不到文件
- windows - 在远程桌面上使用 Powershell 获取 Windows DisplayLanguage
- android - 如何填充巨大的 TableLayout 而不会导致 ARN 超时?
- javascript - 如何根据父组件的 API 调用设置子组件的初始状态?
- kotlin - 接口作为 Kotlin 中类的依赖项是什么意思?
- javascript - 使用 ActivatedRouteSnapshot 和 Observables 解决数据问题
- keycloak - 通过带有附加基本身份验证的 Keycloak 访问 OpenId-Connect IDP