DateTime.Parse不使用当前CultureInfo(Silverlight)中的模式?

时间:2013-01-09 17:02:06

标签: c# datetime silverlight-4.0 localization cultureinfo

我遇到了以下问题。 我设置CurrentCultureCurrentUICulture并在其中使用以下模式:

ShortDatePatterndd-MM-yyyy

LongTimePattern是HH.mm.ss

当我将日期转换为字符串时,我得到15-01-2008 00.00.00。但是,当我致电DateTime.Parse("15-01-2008 00.00.00")时,它会抛出FormatException。如果我将ShortDatePattern设置为dd-MM-yyyy HH.mm.ss,则仍会抛出异常。有没有办法强制DateTime.Parse通过相应地设置CurrentCulture来使用模式。

我知道使用Parse重载或ParseExact可能会有所帮助,但重点是使用格式化而没有refactoring已编写的代码加载并使用DateTime.Parse和{{1遍布整个地方

其他信息:还尝试将ToString-放入. - 这没用。 '基于CurrentCulture

1 个答案:

答案 0 :(得分:1)

如果您想使用String.Format()方法格式化DateTIme,可以执行以下操作。 String.Format DateTime C#

 var dt = "15-01-2008 00.00.00";
 var dateFrmt = String.Format("{0:dd/MM/yyyy HH:mm:ss}", dt);

Output = "15-01-2008 00.00.00"

如果你想从短日期的DateTime变量中删除HH:mm:ss,你可以在这里做一下这个例子将产生ShortDate

 DateTime dt = DateTime.Now;
 var dateFrmt = String.Format("{0:M/d/yyyy}", dt);

Output = "1/9/2013"

DateTime.ParseExact Method if you choose to go that route