格式化DateTime显示的字符串

时间:2013-11-15 17:17:27

标签: wpf silverlight xaml silverlight-5.0

无论出于何种原因,我从数据库获取的数据都采用以下格式:“830AM” 另请注意数字 8 之前的额外空格 我需要将其格式化为在Silverlight XAML或样式中显示为“08:30 AM”。 我们该怎么做?

1 个答案:

答案 0 :(得分:1)

如果您确定传入格式始终相同,则可以使用DateTime.ParseExact获取DateTime对象 - 然后将其转换回字符串with the format you want

string timeStr = " 830AM";
string format = "h:mmtt";
DateTime time = DateTime.ParseExact(timeStr.Trim(), format, CultureInfo.InvariantCulture);

string timeStrFormatted = time.ToString("hh:mm tt", CultureInfo.InvariantCulture);

要在Silverlight XAML中执行此操作,您可以在绑定中使用IValueConverter。更好的是,在视图模型上使用只读属性,该属性执行上述转换。