我的公司构建报告工具,其中一种导出格式是 excel。由于我们的客户来自不同的国家,当我们生成 excel 文件时,我们使用区域设置格式来使用以下格式化程序显示日期:
[$-<locale here>]mmmm d, yyyy;@
因此,如果单元格的日期为 2020 年 3 月 31 日,并且语言环境设置为爱尔兰,它将显示为 2020 年 3 月 10 日,但如果语言环境设置为西班牙,它将显示 Marzo 10, 2020
我们收到了一份客户报告,称这对他们不起作用,因为他们的 2020 年 3 月 31 日日期显示为 2020 年 3 月 8 日
经过仔细检查,我注意到他们的格式化程序被列为:
[$-,F]mmmm d, yyyy;@
我试图找到 Excel 试图在那里解析的实际内容,或者试图使用什么日历或日期格式化程序来显示该虚假日期无效。我们显然需要在识别客户的语言环境方面做得更好,但我想知道这是否可能是由于客户的计算机中有一个奇怪的语言环境,或者只是一些虚假代码。
这发生在 Excel 2013 中,但我也能够在 Excel 365 上重现它。我还尝试找到与 F 的十六进制值相关的任何国家/地区代码,但没有任何效果。删除 后,格式化程序将,
F 标识为法国的代码,并以法语显示正确的日期编号:mars 30, 2020。