Convert.ToString(DateTime) 产生英国格式而不是美国格式

2023-12-06

我遇到一个问题,C# DateTime 字符串无法转换为 SQL DateTime,因为它神秘地被格式化为英国日期 (dd/MM/yyyy)。以下是这一系列事件:

  1. 在美国的远程服务器上创建一个对象并序列化为 xml。
  2. 该 xml 在 CA 的本地计算机上反序列化回对象。序列化日期如下所示:2011-07-13T09:56:57.0542425
  3. 应用程序尝试调用前面提到的存储过程将对象保存到数据库中。它(不必要)将日期转换为字符串,然后使用 Convert.ToString(DateTime) 将其作为参数传递给存储过程。
  4. 存储过程失败并出现 SqlException“将数据类型 nvarchar 转换为 datetime 时出错”,因为它收到的 DateTime 类型参数的字符串采用 dd/MM/yyyy 格式(数据库语言为美国英语)。

现在,代码不应该将日期时间转换为字符串,然后再转换回 SQL 中的日期时间,但在一切正常一年多后,这个问题才开始发生(在多台计算机上)。所以我认为数据库或操作系统的文化最近一定发生了变化,导致它们使用不同的日期格式。令我惊讶的是,将操作系统(Windows 7)从英语(加拿大)更改为英语(美国)并重新启动后,问题仍然出现。更令人困惑的是,当本地创建相同类型的对象而不是反序列化时,无论区域设置如何,都不会发生错误。唯一的区别是序列化版本发生在 Windows 服务中,而本地创建的对象版本发生在 Windows 应用程序中。它们都使用自己的调用 Convert.ToString(DateTime) 的程序集副本,但它们使用该程序集的相同版本。我完全困惑了。

附: .NET 2.0 和 SQL Server 2005


为什么不强制格式化DateTime.ToString()使用您特别想要的区域性——或者指定与您的 SQL 函数期望相匹配的自定义格式规则?

对于自定义格式,您可以查看here或者对于特定于文化的格式,您可以查看here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Convert.ToString(DateTime) 产生英国格式而不是美国格式 的相关文章

  • SQL Server:比较两个表中的列

    我最近完成了从某些应用程序的旧版本到当前版本的迁移 在迁移数据库时遇到了一些问题 我需要一个可以帮助我比较两个表中的列的查询 我的意思不是行中的数据 我需要比较列本身来弄清楚我错过了表结构的哪些变化 看一下红门 SQL 比较 http ww
  • 向 Nhibernate 发出 SQL 查询

    如何将此 SQL 查询发送给 Nhibernate SELECT Customer name FROM Company INNER JOIN Customer ON Company CompanyId Customer CompanyId
  • 启动时出现 OData v4 错误:找不到段“Whatever”的资源

    我正在构建新的 v4 服务 一切进展顺利 直到我为新模型 实体添加了新控制器 并在启动站点进行测试运行时收到此错误 控制器似乎编码正确 就像其他控制器一样 控制器 CustomersOData 中的操作 GetFeed 上的路径模板 Cus
  • 如何修复此错误“GDI+ 中发生一般错误”?

    从默认名称打开图像并以默认名称保存 覆盖它 我需要从 Image Default jpg 制作图形 将其放在 picturebox1 image 上并在 picurebox1 上绘制一些图形 它有效 这不是我的问题 但我无法保存 pictu
  • 互斥体实现可以互换(独立于线程实现)

    所有互斥体实现最终都会调用相同的基本系统 硬件调用吗 这意味着它们可以互换吗 具体来说 如果我使用 gnu parallel算法 使用openmp 并且我想让他们称之为线程安全的类我可以使用boost mutex用于锁定 或者我必须编写自己
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 读取文件特定行号的有效方法。 (奖励:Python 手册印刷错误)

    我有一个 100 GB 的文本文件 它是来自数据库的 BCP 转储 当我尝试导入它时BULK INSERT 我在第 219506324 行上收到一个神秘错误 在解决此问题之前 我想看看这一行 但可惜的是我最喜欢的方法 import line
  • 无法在 Windows 运行时组件库的 UserControl 中创建依赖项属性

    我想在用户控件内创建数据可绑定属性 这个用户控件包含一个 Windows 运行时组件 项目 我使用下面的代码来创建属性 public MyItem CurrentItem get return MyItem GetValue Current
  • 未定义的行为或误报

    我 基本上 在野外遇到过以下情况 x x 5 显然 它可以在早期版本的 gcc 下编译干净 在 gcc 4 5 1 下生成警告 据我所知 警告是由 Wsequence point 生成的 所以我的问题是 这是否违反了标准中关于在序列点之间操
  • 未经许可更改内存值

    我有一个二维数组 当我第一次打印数组的数据时 日期打印正确 但其他时候 array last i 的数据从 i 0 到 last 1 显然是一个逻辑错误 但我不明白原因 因为我复制并粘贴了 for 语句 那么 C 更改数据吗 I use g
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • std::async 与重载函数

    可能的重复 std bind 重载解析 https stackoverflow com questions 4159487 stdbind overload resolution 考虑以下 C 示例 class A public int f
  • 用于 C# 的 TripleDES IV?

    所以当我说这样的话 TripleDES tripledes TripleDES Create Rfc2898DeriveBytes pdb new Rfc2898DeriveBytes password plain tripledes Ke
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • Linq-to-entities,在一个查询中获取结果+行数

    我已经看到了有关此事的多个问题 但它们已经有 2 年 或更长 的历史了 所以我想知道这方面是否有任何变化 基本思想是填充网格视图并创建自定义分页 所以 我还需要结果和行数 在 SQL 中 这将类似于 SELECT COUNT id Id N
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • Python matplotlib 在鼠标悬停时不显示完整日期

    我有一个数据框日期索引 and 温度值 Date Temperature 2015 10 21 9 118 2015 10 22 9 099 2015 10 23 8 945 2015 10 26 8 848 2015 10 27 8 84
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了

随机推荐

  • 转义 sed 搜索模式的路径[重复]

    这个问题在这里已经有答案了 可能的重复 sed 引号中的正斜杠 在我的 bash 脚本中 我有一个路径字符串 我应该在其中使用它sed图案 SRC PATH PWD sed s
  • 我可以使用 HttpBrowserCapability 对象在服务器端检测 IE 文档模式吗

    我可以使用 HttpBrowserCapability 对象找出浏览器版本和特定功能 但是有没有办法找到浏览器用于呈现的文档模式 相当于 JavaScript 属性document documentMode 可以通过以下方式更改模式开发者工
  • 使用 OpenCV 进行角度和尺度不变模板匹配

    函数将模板图像从 0 度旋转到 180 或最多 360 度 以搜索源图像中所有相关的匹配项 所有角度 即使具有不同的比例 该函数是用 OpenCV C 接口编写的 当我尝试将其移植到 openCV C 接口时 我遇到了很多错误 请有人帮我将
  • 他们说 React 受 XSS 保护是什么意思?

    我在 React 教程上读到了这篇文章 这是什么意思 反应是安全的 我们不会生成 HTML 字符串 因此 XSS 保护是默认设置 如果 React 是安全的 XSS 攻击如何发挥作用 这种安全性是如何实现的 ReactJS 的设计相当安全
  • 返回 Vec<&str> 时字符串的生命周期 [重复]

    这个问题在这里已经有答案了 简单代码 fn foo gt Vec lt static str gt let mut vec Vec new let mut string String new doing something with str
  • Spark 集群和 Cassandra 的 Titan 设置和配置

    aurelius 邮件列表以及 stackoverflow 上已经有几个关于配置 Titan 使其与 Spark 一起工作的具体问题的问题 但我认为缺少的是使用 Titan 和 Spark 的简单设置的高级描述 我正在寻找的是使用推荐设置的
  • 是否可以中断一个进程并对其进行检查点以便稍后恢复?

    假设您有一个应用程序 它消耗了所有的计算能力 现在你想做一些其他必要的工作 Linux 上有没有办法中断该应用程序并检查其状态 以便稍后可以从中断的状态恢复 我特别感兴趣的是一种可以在另一台机器上停止并重新启动应用程序的方法 这也可能吗 一
  • Axis2 WSDL2java 仅生成 2 个 java 类

    我正在使用 Axis2 开发网络服务 请参阅下面我的程序 public class Simple public String echo String rest return rest 部署到 Axis2 war 后 我生成了这个 wsdl
  • 如何在纯CSS中的div之前制作三角形?

    你好朋友我已经尝试了很多次但我没有成功请帮助我 我想要下面的图片像这样 现在我已经创建了这个 但没有创建这个 div 的右角现在任何人请帮助我 我的代码是 Css dashbord a display block line height 2
  • 正则表达式 _# 位于字符串末尾

    我正在使用正则表达式 LIKEOracle 10g 中的函数用于查找后缀为 的列中的值 如 1 2 等 我可以使用下面的查询在值的任何部分找到 但我可以仅返回末尾带有 的值吗 SELECT FROM Table WHERE REGEXP L
  • $inc 修饰符如何处理 mongodb 中的并发请求?

    The inc修饰符可用于增加字段 例如分析计数器 页面浏览量等 如果有并发请求 它如何工作 假设我有文件 views 1 如果有两个并发请求使用时会发生什么 inc 观看次数是 2 还是 3 这确实有点宽泛 但我可以提供大致的思路 截至
  • Perl 的 CGI.pm 可以处理 Firefox 的 表单字段吗?

    Firefox 3 6 引入了 常规 type file 输入元素上的多个属性 http hacks mozilla org 2009 12 multiple file input in firefox 3 6 我无法让 Perl 处理这些
  • 在 xcode Swift 中设置 Fitbit api

    我正在尝试从 dev fitbit com 设置 Fitbit api 第一部分是注册应用程序 我已经陷入这部分 例如 我不知道回调 url 必须填写什么 在使用 api 之前我从未这样做过 此外 访问类型或应用程序类型对我来说非常令人困惑
  • 如何使用 Jsoup 从 Google 获取#resultStats

    我正在尝试获取 Google 向我们展示的文章数量 This是谷歌搜索的jeb bush barack obama 它显示了我需要的数字 即10 200 000文章 我如何使用 Jsoup 及其任何组件来获取该数字 我试过 Document
  • 如何对字母数字 pandas 索引进行降序排序。

    我有一个 pandas 数据框 如下所示 df DataFrame id a132 a132 b5789 b5789 c1112 c1112 value 0 0 0 0 0 0 df df groupby id sum value id a
  • Android INSTALL_FAILED_UID_CHANGED

    我一直在使用 Nexus 4 在 Android 上进行调试 但是我最近在这里遇到了这个错误 对这个错误进行一些研究后 这似乎是应用程序未正确删除的问题 我正在调试的应用程序在我的其他 Android 设备以及模拟器上运行良好 此错误仅发生
  • 外部 PHP 文件中的 WordPress get_option

    我创建了一个插件 可以以编程方式将产品添加到 WooCommerce 该插件运行良好 但现在我需要创建一个每 5 分钟运行一次的 cron 作业来更新库存 我已经编写了所有脚本 但我需要在此 php 文件中包含对 get option 的调
  • HTML 表格内的 CSS 定位

    我觉得这应该是理所当然的 但显然我错过了一些东西 我在页面上使用 HTML 表格 并且需要绝对定位在表格内呈现的元素 以便当我们应用 DHTML 来显示它时它可以正确显示 我尝试绝对将其相对于表格行的底部定位 但浏览器 FF 和 IE 不会
  • Python argparse 与 nargs 行为不正确

    这是我的 argparse 示例 即sample py import argparse parser argparse ArgumentParser parser add argument p nargs help Stuff args p
  • Convert.ToString(DateTime) 产生英国格式而不是美国格式

    我遇到一个问题 C DateTime 字符串无法转换为 SQL DateTime 因为它神秘地被格式化为英国日期 dd MM yyyy 以下是这一系列事件 在美国的远程服务器上创建一个对象并序列化为 xml 该 xml 在 CA 的本地计算