2010-06-04 96 views
0

有谁知道如何显示 基于CurrentCulture的日期时间的日期,但时间遵循此模式"HH:mm:ss.fff"显示日期基于文化,但基于模式的时间

我试着使用:

日期时间NewDate = DateTime.Now; NewDate.ToString(CultureInfo.CurrentCulture);
结果:4-6-2010 14:49:41。
预计:4-6-2010 14.49.41,495。

对于时间,我也需要显示毫秒,但日期格式必须仍然基于文化。

+0

定义**不起作用**,你可以发布你在说什么VS你期待什么? – R0MANARMY 2010-06-04 12:34:09

+0

我已更新该问题。希望现在清楚。 – Albertus 2010-06-04 12:54:05

回答

1
string s = String.Format("{0} {1}", NewDate.ToString("d"), NewDate.ToString("HH:mm:ss.fff")); 

如果返回的DateTimeFormatInfo对象的LongTimePattern属性返回的自定义格式字符串不希望使用当前文化格式化您datestring您可以创建的CultureInfo的实例,并把它传递给你的ToString方法

CultureInfo ci = new CultureInfo("en-US"); 
string s = String.Format("{0} {1}", NewDate.ToString("d", ci), NewDate.ToString("HH:mm:ss.fff")); 
+0

就是这样!非常感谢Morten。 只需要添加毫秒: string s = NewDate.ToString(“d”)+“”+ NewDate.ToString(“HH:mm:ss.fff”); – Albertus 2010-06-04 13:00:26

+0

太棒了 - 我现在增加了毫秒:-) – 2010-06-04 13:05:59

1
NewDate.Date.ToString(Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern) + 
    NewDate.TimeOfDay.ToString("HH:mm:ss.fff"); 

MSDN

此方法使用从当前培养物衍生格式化信息。特别是,它包含了由ShortDatePattern并通过Thread.CurrentThread.CurrentCulture.DateTimeFormat财产