c#日期格式未显示本地格式

时间:2015-04-22 10:22:35

标签: c# date-format

在我的本地计算机上,我的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"

3 个答案:

答案 0 :(得分:1)

ToShortDateString方法应该是文化敏感的 - 它使用的格式由当前文化的DateTimeFormatInfo对象控制。你检查过这是你期望的吗?

(这应该是一个评论,因为它不是一个明确的答案/修复 - 遗憾的是我没有足够的声誉来发表评论。)

答案 1 :(得分:0)

在ToString()中指定文化:

DateTime.Now.ToString(CultureInfo.CurrentCulture);

答案 2 :(得分:0)

  

ToShortDateString()的简单调用从本地获取输入格式   桌面。它将显示在本地窗口中配置的日期字符串   桌面。

  • 如果本地配置为15/4/22(yy / m / dd),则输出为15/4/22
  • 如果本地配置是2015年4月22日(月/日/年),输出将是2015年4月22日
  

本地配置可以在更改日期和时间设置下更改>>   更改日历设置>>更改日期格式

(当我提到本地配置时,我的意思是在Windows的任务栏右下方显示日期格式。)