日期选择框兼容机房 Chrome 94:以前点下拉按钮靠 showPicker() 弹出日期框,它 Chrome 99 才正式有,Chrome 94 的原型上有这个方法、调用却没反应,项目 6 任务 3、项目 8 任务 5 选不了日期。改成把浏览器的日期框透明地盖在下拉按钮上、日历图标撑满按钮,点按钮由浏览器自己弹出(Chromium 94 和新版 Chrome 实测都能选)。运行时长日期和中文 Windows 一致,不带星期(Linux 的 zh-CN 长日期是"2026年10月28日星期三",日期框窄,星期被截掉)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-28 17:40:57 +08:00
1 parent 9ed446f95a
commit 163e553de4
3 files changed
+43 -10

No files matched your search

+4 -1
View File
@@ -28,10 +28,13 @@ internal static class StudentProgramHost
Console.SetIn(TextReader.Null); // 标准输入用于协议,学生的 Console.ReadLine 读不到内容
// 和中文 Windows 一致:DateTime.ToString() 等按 zh-CN 格式输出。
// Linux 上的区域数据把时间写成 09:05:03,中文 Windows 是 9:05:03(书上的截图也是),这里改成 Windows 的写法
// Linux 上的区域数据把时间写成 09:05:03,中文 Windows 是 9:05:03(书上的截图也是);长日期后面多了星期(2024年1月16日星期二),
// 中文 Windows 的长日期不带星期(日期选择框的长日期格式窄,带上星期会被截掉)。这里都改成 Windows 的写法
var zhCN = (CultureInfo)CultureInfo.GetCultureInfo("zh-CN").Clone();
zhCN.DateTimeFormat.LongTimePattern = "H:mm:ss";
zhCN.DateTimeFormat.ShortTimePattern = "H:mm";
zhCN.DateTimeFormat.LongDatePattern = "yyyy'年'M'月'd'日'";
zhCN.DateTimeFormat.FullDateTimePattern = "yyyy'年'M'月'd'日' H:mm:ss";
zhCN = CultureInfo.ReadOnly(zhCN);
CultureInfo.DefaultThreadCurrentCulture = zhCN;
CultureInfo.DefaultThreadCurrentUICulture = zhCN;