Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebApp中的区域性信息和日期时间_C#_Datetime - Fatal编程技术网

C# WebApp中的区域性信息和日期时间

C# WebApp中的区域性信息和日期时间,c#,datetime,C#,Datetime,我有一个Silverlight应用程序和应用程序的服务部分,用于查询数据库、运行RIA服务等。。。在另一台机器上。 如果我在XAML视图中向用户显示一些日期/时间结果,我将从查询中获取它们。现在用户转到他的Windows计算机,并从区域语言设置将日期/时间格式更改为例如“yyyy-MM-dd”,因此现在他们希望以该格式显示结果 因此,在我的LINQ查询中,我写了如下内容: CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern Da

我有一个
Silverlight
应用程序和应用程序的服务部分,用于查询数据库、运行RIA服务等。。。在另一台机器上。 如果我在
XAML
视图中向用户显示一些日期/时间结果,我将从查询中获取它们。现在用户转到他的Windows计算机,并从区域语言设置将日期/时间格式更改为例如
“yyyy-MM-dd”
,因此现在他们希望以该格式显示结果

因此,在我的LINQ查询中,我写了如下内容:

CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
DateTime temp;
bool valid= DateTime.TryParse(value, out temp);
if (valid)
{
    result = temp.ToShortDateString();
}

但看起来这不是在看客户端的机器,我猜它是在看服务器机器,因为我在LINQ查询中使用了它。那你觉得我该怎么办?我应该在
Thread.CurrentThread
上调用它吗

CurrentThread
也不会这样做。 就像@Sklaks提到的,你应该在客户端做这件事。 由于它是一个SilverLight应用程序,我假设您在XAML中使用一些绑定来显示此日期,因此您应该编写一个从字符串到字符串的简单转换器,并在其中进行转换,将其与绑定一起传递到XAML中。大概是这样的:

CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
DateTime temp;
bool valid= DateTime.TryParse(value, out temp);
if (valid)
{
    result = temp.ToShortDateString();
}

您应该直接将日期传递给客户机,然后在客户机上格式化。我使用@SLaks。我通常以“尽可能接近用户的本地格式转换为/从本地格式转换为”为生。使用CurrentThread可以吗?