最近一个EF+WCF的项目中需要使用Expression传递查询条件,有的条件中会包含对DateTime类型的参数进行判断。

例如最常见的 order=>order.OrderDate > DateTime.Now;

这种用法在正常情况下是没有问题的,但是如果客户端和服务器端的语言区域不一样,就会造成通过WCF传递过后,DateTime类型的变量无法识别。

例如一般中文简体的默认日期格式为yyyy-MM-dd,中文繁体的格式为:yyyy/MM/dd,这样的话,当客户端与服务器端区域语言不同的时候,传参就会报错。

网上找了解决方法,客户端直接修改系统的默认语言格式就好,可以确定保持和服务器统一。

代码如下,一般在程序启动的时候就设定就没问题了。

 1 public class LocalLanguage
 2     {
 3         [DllImport("kernel32.dll", EntryPoint = "GetSystemDefaultLCID")]
 4         public static extern int GetSystemDefaultLCID();
 5         [DllImport("kernel32.dll", EntryPoint = "SetLocaleInfoA")]
 6         public static extern int SetLocaleInfo(int Locale, int LCType, string lpLCData);
 7         public const int LOCALE_SLONGDATE = 0x20;
 8         public const int LOCALE_SSHORTDATE = 0x1F;
 9         public const int LOCALE_STIME = 0x1003;
10
11         public static void SetDateTimeFormat()
12         {
13             try
14             {
15                 int x = GetSystemDefaultLCID();
16                 SetLocaleInfo(x, LOCALE_STIME, "HH:mm:ss");        //时间格式
17                 SetLocaleInfo(x, LOCALE_SSHORTDATE, "yyyy-MM-dd");   //短日期格式
18                 SetLocaleInfo(x, LOCALE_SLONGDATE, "yyyy-MM-dd");   //长日期格式
19             }
20             catch (Exception ex)
21             {
22                 Console.WriteLine(ex);
23             }
24         }
25     }

转载于:https://www.cnblogs.com/Miraclky-G/archive/2013/04/12/3016147.html

修改系统默认区域语言日期格式相关推荐

  1. ubuntu 修改系统默认语言为英文!

    ubuntu 修改系统默认语言为英文! 1.sudo vim /etc/default/locale 改为如下内容: LANG="en_US.UTF-8" LANGUAGE=&qu ...

  2. Android修改系统默认设置

     1.launcher的布局太居中,要想两边拉伸 <\packages\apps\Launcher2\res\values\dimens.xml> <dimen name=&qu ...

  3. 修改微软输入法的时间日期格式

    修改微软输入法的时间&日期格式 文章目录 修改微软输入法的时间&日期格式 原因 步骤 添加要点 重点!!! 参考链接 Win10 - 其他 - 微软拼音输入法 自定义时间日期格式 - ...

  4. java poi 设置时间空间_java - POI - 如何将单元格值设置为Date并应用默认的Excel日期格式?...

    java - POI - 如何将单元格值设置为Date并应用默认的Excel日期格式? 我已经使用Apache POI一段时间以编程方式读取现有的Excel 2003文件. 现在我有了一个新的要求,即 ...

  5. Android7.1修改系统默认多媒体音量大小

    Android7.1修改系统默认多媒体音量大小 始修改\frameworks\base\packages\SettingsProvider\res\values\defaults.xml def_mu ...

  6. 修改系统默认路径,如收藏夹、桌面、我的文档

    修改系统默认路径,如收藏夹.桌面.我的文档.... 修改分支为:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer ...

  7. Android 系统(72)---Android系统增加字体库及修改系统默认字体

    Android系统增加字体库及修改系统默认字体 阅读数:53 转载出处:https://blog.csdn.net/hsaekong/article/details/80305263 前言 最近项目上 ...

  8. Android 12.0 修改系统默认字体的大小

    目录 1.概述 2.修改系统默认字体的大小的核心类 3.修改系统默认字体的大小的核心功能实现和分析

  9. Android系统增加字体库及修改系统默认字体

    转载请注明出处:https://blog.csdn.net/hsaekong/article/details/80305263 前言 最近项目上需要修改android系统默认字体,现把总结记录下,便于 ...

最新文章

  1. R语言ggplot2可视化时间序列数据并突出标注重要时间点数据实战:特殊节点标签标注、特殊区域标注
  2. IPFS中国社区丨最简单全面介绍IPFS
  3. lintcode-easy-Insertion Sort List
  4. DropBox 超实用的免费文件网络同步、备份、分享工具
  5. java面试-Java并发编程(六)——线程间的通信
  6. 从72小时到1分钟,数据如何快速响应业务需求?
  7. margin-top失效的解决办法
  8. Java中volatile关键字实现原理
  9. uniapp debug能打开release不行_盘点在 Release 下由循环体优化所产生的不确定性 Bug...
  10. 进度条ProgressBar及ProgressDialog
  11. NYOJ-97-兄弟郊游问题
  12. Unity 3D 实战核心技术详解
  13. 【BZOJ 1082】[SCOI2005]栅栏 二分+dfs
  14. installshield2020打包教程
  15. 常用命令之svnadmin命令
  16. 维度诅咒_维度的诅咒减去行话的诅咒
  17. python阿拉伯数字转换为英文_python实现将英文单词表示的数字转换成阿拉伯数字的方法...
  18. 【微博简易爬虫】Python获取指定微博用户的发布文本
  19. Qt音视频开发12-mpv解码播放
  20. Delphi 2006(DeXter) VS.NET 2005[原创]

热门文章

  1. 1.6 matlab矩阵的表示
  2. 编程艺术 二进制中1的个数
  3. 人眼中亮斑的检测、定位和去除(3)
  4. 利用非递归方法实现二叉树的中序遍历
  5. android fragment 退出程序,android – 应用程序在Fragment中单击后退按钮后关闭
  6. CSS设置样式时,鼠标移动到div上,发生抖动问题解决办法
  7. 高级软件工程第五次作业:东理三剑客团队作业-2
  8. ubuntu 16.04 安装PhpMyAdmin
  9. Java反射 - 2(对象复制,父类域,内省)
  10. Duilib vlc c++ 字符编码