无论出于何种原因,我从数据库获取的数据都采用以下格式:“830AM” 另请注意数字 8 之前的额外空格 我需要将其格式化为在Silverlight XAML或样式中显示为“08:30 AM”。 我们该怎么做?
答案 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
。更好的是,在视图模型上使用只读属性,该属性执行上述转换。