使用自定义模式本地化日期时间

时间:2008-11-24 09:52:48

标签: c# datetime localization

我正在开发一个应用程序的本地化,其中自定义模式用于格式化日期时间。

一个例子是: dd-MM HH:mm

我需要为日期获取此自定义格式的本地化版本,以便我使用数字和时间获取日期,基本上使用本地订单(dd MM或MM dd)和本地分隔符的日期和时间

这是相当微不足道的,只要我使用默认格式,但只要我偏离这些格式,格式就会变硬编码。

有什么想法吗?

谢谢,Jonas

编辑: 我有cultureInfo对象,问题是当我做一个DateTime.ToString(“ES-es”)时,我得到太多信息 - 我只需要一个月+日,但是使用默认的ToString,我得到年+月+天

再次编辑: 我看到如何为我使用的每个CultureInfo对象更改ShortDate模式。但是,在某些情况下我也需要默认的ShortDate模式,所以不幸的是,改变它会让我遇到另一个相同的问题。

最终编辑:万一有人关心。我从来没有找到解决方案,所以我最终编写了一个静态函数来检查当前的CultureInfo,并返回正确格式化的日期,sans year。

3 个答案:

答案 0 :(得分:4)

查看DateTimeFormatInfo类(CultureInfo.DateTimeFormat属性),特别是属性DateSeparator,TimeSeparator,ShortDatePattern。

答案 1 :(得分:2)

也许你可以试试这个:

DateTime.Now.ToString(new System.Globalization.CultureInfo(Thread.CurrentThread.CurrentCulture.Name));

如果我想要显示特定文化的时间,我会这样做:

DateTime.Now.ToString(new System.Globalization.CultureInfo("ES-es"))

cultureinfo充当IFormatProvider。

答案 2 :(得分:-1)

CultureInfo课程是开始寻找的好地方。