c# - 有没有办法只更新日期选择器内容控件的文本,而不是格式细节?
问题描述
我正在开发一个单词加载项应用程序,其中我有几个日期选择器内容控件,将文本值设置到该内容控件中也会根据系统日期格式更改它的格式。
我正在明确设置DateDisplayFormat和DateDisplayLocale它仍然按照系统日期格式显示日期值。
ContentControl.Range.Text = "21-12-16";
ContentControl.DateDisplayFormat ="yy-M-d";
ContentControl.DateDisplayLocale =
Microsoft.Office.Interop.Word.WdLanguageID.wdSimplifiedChinese;
我的系统日期格式:MM/dd/yyyy
-Actual result : 16-12-21 (MM/dd/yyyy)
-Expected result : 21-12-16 (yy-M-d)
解决方案
我相信问题来自于Range.Text = 16-12-21
.
这可以解释为 2016 年或 2021 年。Word确实依赖于 Windows 系统设置来解释日期应该是什么,而不是任何本地的。我想,也许切换格式和数据输入的顺序可能会产生影响,但不会。
只需提供四位数的年份,这是自人们在 1990 年代意识到潜在的“千年”问题以来的标准良好做法,并且没有问题。当有人在 UI 中使用 DatePicker 时也没有问题。所以...
ContentControl.Range.Text = "2021-12-16";
ContentControl.DateDisplayFormat ="yy-M-d";
ContentControl.DateDisplayLocale =
Microsoft.Office.Interop.Word.WdLanguageID.wdSimplifiedChinese;
推荐阅读
- python-3.x - 计算“.ds2”文件的持续时间?
- android - Android:如何绕过请勿打扰以便在后台播放通知音频
- javascript - 如何使用可以输入控制台的内容更改此列表的顺序?
- javascript - 如何通过已知点数组插入某个数据点中的值?
- javascript - React Native - 构建应用程序
- jquery - 我有一个循环,想用 ajax 将类添加到最后 4 个元素
- reactjs - Heroku 部署因 react 和下一个 js 而失败
- python-3.x - 如何使用具有特定条件的熊猫删除excel中列的重复值
- sql - 查找两个日期之间的第五个工作日sql
- azure - AZURE REST POSTMAN 问题