我有一个Silverlight
应用程序和应用程序的服务部分,用于查询数据库,运行RIA服务等等...在另一台机器上。
如果我在XAML
视图中向用户显示某些日期/时间结果,我将从查询中获取这些结果。现在用户转到他的Windows机器,并从区域语言设置更改日期/时间格式,例如"yyyy-MM-dd"
,所以现在他们想要以该格式的结果。
所以在我的LINQ查询中,我写了这样的东西:
CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
但看起来这不是在看客户端的机器,我的猜测是它正在查看服务器机器,因为我在我的LINQ查询中使用过它。那么您认为我应该怎么做?我应该在Thread.CurrentThread
上拨打电话吗?
答案 0 :(得分:1)
CurrentThread
也不会这样做。
就像@Sklaks提到的那样,你应该在客户端这样做。
由于它是一个SilverLight应用程序,我假设您在XAML中使用一些绑定来显示此日期,因此您应该编写一个简单的转换器,从字符串到字符串并在那里进行转换,将它与您的绑定一起传递到XAML中。像这样:
DateTime temp;
bool valid= DateTime.TryParse(value, out temp);
if (valid)
{
result = temp.ToShortDateString();
}