【发布时间】:2015-04-22 10:22:34
【问题描述】:
在我的本地机器上,我的 Thread.CurrentThread.CurrentCulture 返回正确的本地文化 (en-GB)。日期格式设置为 yyyy-MM-dd。
在代码中,当我运行时:
value.ToShortDateString()
它返回"6/2/2010" (m/d/yyyy)。
我怎样才能让它根据当地文化进行展示?我不想对格式进行硬编码,因为该应用程序将部署在不同的国家/地区,因此它应该根据本地 PC 设置工作。我还在 en-US 上进行了测试,它显示的结果相同。
我的'value'变量的值是:
{6/2/2010 12:00:00 AM}
Date: {6/2/2010 12:00:00 AM}
Day: 2
DayOfWeek: Wednesday
DayOfYear: 153
Hour: 0
Kind: Unspecified
Millisecond: 0
Minute: 0
Month: 6
Second: 0
Ticks: 634110336000000000
TimeOfDay: {00:00:00}
Year: 2010
【问题讨论】:
-
value.ToShortDateString() 仅根据本地桌面配置返回动态格式。查看我的答案以获得更多解释。
-
我不明白你的问题。你说;你的
CurrentCulture是en-GB并询问我怎样才能让它根据当地文化显示?。你已经用ToShortDateString做到了。你到底想要什么结果?改为yyyy-MM-dd格式?m说明符是分钟,M说明符是几个月。格式说明符区分大小写。 -
@Soner:ToShortDateString 返回美国格式 2010 年 6 月 2 日。我希望它根据当地文化返回,即 2010-06-02。
标签: c# date-format