在我的本地计算机上,我的Thread.CurrentThread.CurrentCulture返回正确的本地文化(en-GB)。日期格式设置为yyyy-MM-dd。
在代码中,当我运行时:
codeWrapper := 'bash pharo Pharo.image eval '' (', code , ') class'' '.
^ (PipeableOSProcess command: codeWrapper) output trim.
它返回value.ToShortDateString()
(m / d / yyyy)。
如何根据当地文化展示它?我不想硬编码格式,因为应用程序将部署在不同的国家/地区,因此它应该根据本地PC设置工作。我也在en-US上进行了测试,它也显示了相同的内容。
我的'value'变量的值是:
"6/2/2010"
答案 0 :(得分:1)
ToShortDateString
方法应该是文化敏感的 - 它使用的格式由当前文化的DateTimeFormatInfo
对象控制。你检查过这是你期望的吗?
(这应该是一个评论,因为它不是一个明确的答案/修复 - 遗憾的是我没有足够的声誉来发表评论。)
答案 1 :(得分:0)
在ToString()中指定文化:
DateTime.Now.ToString(CultureInfo.CurrentCulture);
答案 2 :(得分:0)
对
ToShortDateString()
的简单调用从本地获取输入格式 桌面。它将显示在本地窗口中配置的日期字符串 桌面。
本地配置可以在更改日期和时间设置下更改>> 更改日历设置>>更改日期格式
(当我提到本地配置时,我的意思是在Windows的任务栏右下方显示日期格式。)