具有多种日期时间表示形式的 CultureInfo

2024-05-27

假设我们有一个 WCF 服务,需要一些时间DateTime对象并使用它,我们有一个以格式发送它的客户端dd/mm/yyyy。但是这个服务也是从 JS 调用的,它应该发送准确的DateTime,这就是为什么它使用yyyy-MM-ddTHH:mm:ss.fffzzz format.

是否有可能创造一种采用两种格式并且不写恶心的文化ifs like if (DateTime.TryParse(format1, out dt) || DateTime.TryParse(format2, out dt) || DateTime.TryParse(format3, out dt) || ...)

这段代码的另一个缺点是我们还必须复制它DateTimeOffset as well


这就是 ASP.NET MVC 处理该问题的方式。我认为同样的原则也适用于使用 WCF 等其他技术实现的服务。 Web 服务使用这些约定。

ASP.NET MVC(包括 Web API)对查询字符串中传递的参数执行区域性不敏感的解析。因此,URL 中的日期必须采用通用格式 yyyy-mm-dd。表单值(或请求正文中的任何值)应采用服务器指定的格式。这意味着设置为英国文化的服务器将期望日期采用英国日期格式:dd-mm-yyyy。

为什么对 URL 中的项目执行不区分区域性的解析?

对 URL 中的项目执行区域性不敏感的解析有一个非常好的、合乎逻辑且方便的理由。想象一下,我看到一件商品正在促销,并且促销已经from and toURL 中的日期。如果我通过电子邮件将该链接发送给我在德国的朋友(我住在加拿大),我希望他们看到相同的页面。如果对 URL 中的日期执行文化敏感的解析,我的朋友可能会看到完全不同的销售,或者可能会看到未找到的页面 - 这不会很好。

因此,为了回答您的问题,调用 WCF 服务的客户端应以服务指定的格式向您的服务提供日期,除非日期位于 URL 中,在这种情况下,客户端应以通用格式 yyyy-mm-dd 提供日期。

另一种选择是客户端向服务提供区域性(例如,在 SOAP 标头中),并且服务在解析时将使用该区域性。

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

具有多种日期时间表示形式的 CultureInfo 的相关文章

  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 通过指向其基址的指针删除 POD 对象是否安全?

    事实上 我正在考虑那些微不足道的可破坏物体 而不仅仅是POD http en wikipedia org wiki Plain old data structure 我不确定 POD 是否可以有基类 当我读到这个解释时is triviall
  • 如何在Xamarin中删除ViewTreeObserver?

    假设我需要获取并设置视图的高度 在 Android 中 众所周知 只有在绘制视图之后才能获取视图高度 如果您使用 Java 有很多答案 最著名的方法之一如下 取自这个答案 https stackoverflow com a 24035591
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • C++ 标准是否指定了编译器的 STL 实现细节?

    在写答案时this https stackoverflow com questions 30909296 can you put a pimpl class inside a vector我遇到了一个有趣的情况 这个问题演示了这样一种情况

随机推荐

  • 如何使用 `ProjectRef` 来引用 sbt 1.x 中的本地项目?

    其他答案中有很多含糊不清的内容 或者涉及到更旧版本的 sbt 即 0 12 x 但似乎没有人真正回答这个问题 鉴于我有一个文件夹 并且我已经运行 sbt new scala scala seed g8 name Scala Seed Pro
  • 错误:没有名为 psycopg2.extensions 的模块

    我正在尝试为我的 django 项目设置一个 PostgreSQL 数据库 由于对上一个问题的答复 我相信我现在已经完成了为 django 项目设置 postgreSQL 数据库时出现问题 https stackoverflow com q
  • 如何从 System.Enum 转换为基本整数?

    我想创建一个通用方法 用于将任何 System Enum 派生类型转换为其相应的整数值 无需进行强制转换 最好无需解析字符串 例如 我想要的是这样的 Trivial example not actually what I m doing c
  • 如何检索多个深度关系的节点 Neo4j Database Cypher?

    假设有一个简单的图如下 City name gotham lt LOCATED Tower name abc lt LOCATED Bank name CityBank City name gotham lt LOCATED Cinema
  • 我应该迁移到 ASP.NET MVC 吗?

    我刚刚听了 StackOverflow 团队的第 17 期播客 他们对ASP NET MVC http www asp net mvc 我决定去看看 但首先 我想确定这是值得的 我已经为几天后开始的项目创建了一个基础 Web 应用程序 供其
  • 安装pytorch时出现PackagesNotFoundError: cudatoolkit=11.1.0

    我从以下位置获取安装命令https pytorch org get started locally https pytorch org get started locally 当我运行命令时 conda install pytorch to
  • 嵌入式系统:使用汇编语言时的内存布局

    根据我的理解 嵌入式系统运行机器代码 有多种方法可以生成此代码 一种是用 C 等高级语言编写程序 然后使用编译器获得这样的代码 另一种方法是用汇编语言为该嵌入式系统编写指令 并使用汇编器将其转换为机器代码 现在我们得到了加载到系统并执行的机
  • 使用 or 运算符进行 Morphia 查询

    我想知道如何使用 or 运算符编写 Morphia mongodb 查询我这样写了 mongodb 查询 效果很好 db Inv find or sug id 2 grp id 2 但是当我尝试在吗啡中编写此内容时 我感到很困惑 以下查询是
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 在R中,如何平均空间网格正方形上的空间点数据

    现在设法解决问题 我有一组大约 50 000 个点 它们具有坐标和一个与其关联的值 我希望能够将点放入网格中 对落在网格正方形中的所有点的关联值进行平均 所以我想最终得到一个对象来识别每个网格方块并给出网格方块内的平均值 如果有帮助的话 我
  • 如何检查 Android 中是否启用了互联网访问?

    我正在尝试创建一个连接到网络服务器并检索数据的应用程序 我想做一些功能 当我单击我的应用程序时 它首先检查是否启用了互联网访问 如果启用它会启动应用程序 否则打开互联网访问设置 之后它会重定向到我的应用程序 当应用程序连接到网络服务器时 如
  • Selenium 如何按类选择对象

    我有一个带有表单的网页 并且有一个使用 jquery 自动完成功能的字段 这是用户名返回 1 个或多个结果后 HTML 的呈现方式 但是我不知道如何使 Selenium 点击 结果 我可以做一个 jQuery 类型的选择器吗 例如 ul u
  • 使 D3 响应式:viewBox 与 resize()?

    我必须构建在平板电脑 桌面显示器以及某些情况下非常大的 4k 高分辨率影院尺寸显示器上都能正常运行的 d3 可视化效果 因此 我试图找出使用 SVG 的 viewBox 属性和 preserveaspectratio 与调用调整大小函数以在
  • uwsgi协议比http协议快吗?

    我正在尝试部署 django 应用程序的各种设置 我的第一选择是使用带有 mod wsgi 的简单 apache 服务器 我之前已经实现了该服务器供私人使用 由于当前的部署是供公众使用的 因此我正在考虑各种选择 根据网上提供的信息 使用 n
  • 谷歌地图行车方向源代码为他们的例子?

    谷歌举了一个例子http googlemapsapi blogspot com 2007 05 drive directions support added to html http googlemapsapi blogspot com 2
  • (简单)Flex 3 应用程序需要什么版本的 Flash 播放器?

    Flex 3 应用程序需要什么版本的 Flash 播放器 要求似乎是FLEX开发环境中的HTML WRAPPER ACTIONSCRIPT编译器设置 我可以在那里选择什么来最大程度地兼容旧的 Flash 播放器 v8 播放器可以工作吗 Fl
  • 有什么方法可以将自定义差异工具与cleartool/clearcase一起使用?

    我想在使用 Clearcase 快照视图时使用我自己的差异 据我所知 运行时无法指定 diff 工具 cleartool diff 所以我想我可以运行类似的东西 mydiff
  • 无法解析 Landroid/support/v4/app/FragmentActivity 的超类

    我有一个项目使用WelcomeActivity这延伸了FragmentActivity 我使用支持库 所以android support v4 jar在里面libs文件夹 当我运行这个应用程序时 没有任何问题 但是 我想将 ActionBa
  • CORS 击败 AWS LAMBDA :(

    我读了很多关于 CORS Lambda AWS API Gateway 配置的文章 包括 AWS 的设置帮助 http docs aws amazon com apigateway latest developerguide how to
  • 具有多种日期时间表示形式的 CultureInfo

    假设我们有一个 WCF 服务 需要一些时间DateTime对象并使用它 我们有一个以格式发送它的客户端dd mm yyyy 但是这个服务也是从 JS 调用的 它应该发送准确的DateTime 这就是为什么它使用yyyy MM ddTHH m