如何在不同的系统文化中转换日期时间?

2023-12-10

我需要转换DateTime不同文化格式中的值,无论系统中设置如何。

没有选择任何特定的时区进行转换,任何区域性格式都使用转换日期时间值。

DateTimeFormatInfo ukDtfi = new CultureInfo(CultureInfo.CurrentCulture.ToString(), false).DateTimeFormat;
StartingDate = Convert.ToDateTime(System.Web.HttpContext.Current.Session["StartDate"].ToString(), ukDtfi);

我正在使用上面的代码,但它不能正常工作。 目前我设置ar-SA我的系统中的文化。


让我先澄清一些主题..

A DateTime实例没有any时区信息和文化设置。它just有日期和时间值。文化设置概念only当你得到它时适用textual(字符串)表示。

自从你使用ar-SA文化,您的字符串格式不是标准的日期和时间格式that文化。

var dt = DateTime.Parse("31/1/2016 12:00 AM", CultureInfo.GetCultureInfo("ar-SA"));
// Throws FormatException

And you can't解析这个字符串ar-SA文化,因为这种文化使用ص as a AMDesignator因为它使用UmAlQuraCalendar而不是一个GregorianCalendar.

您可以使用InvariantCulture(它使用AM as a AMDesignator和用途GregorianCalendar) 代替DateTime.ParseExact方法准确指定其格式。

string s = "31/1/2016 12:00 AM";
DateTime dt = DateTime.ParseExact(s, "dd/M/yyyy hh:mm tt", 
                                  CultureInfo.InvariantCulture);

在你的情况下;

StartingDate = DateTime.ParseExact(System.Web.HttpContext.Current.Session["StartDate"].ToString(), 
                                   "dd/M/yyyy hh:mm tt", 
                                   CultureInfo.InvariantCulture);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不同的系统文化中转换日期时间? 的相关文章

随机推荐

  • 使用 sed 在两个模式之间替换多个惰性字符串

    Example This word1 is a test word2 file 我想要的是 This is a test file 问题是括号出现多次 所以如果我使用 sed s lt gt g I get This file这是错误的 如
  • 基类的构造函数会被自动调用吗?

    class Person public int age public Person age 1 class Customer Person public Customer age 1 Customer customer new Custom
  • MongoDB:forEach 与 fetch +each

    当我想从 Meteor 应用程序迭代存储在 MongoDB 中的一组文档时 我可以使用 db collection find forEach function f doc or var docs db collection find fet
  • .Net MVC 项目上的本地号码全球化错误

    我正在尝试验证本地十进制数字 葡萄牙语 gt pt PT 但我在浏览器中收到控制台错误 Uncaught TypeError t parseFloat is not a function Exception occurred when ch
  • 用于匹配任何和所有 HTML data-* 属性的通用 CSS 选择器 [重复]

    这个问题在这里已经有答案了 是否可以匹配所有具有data 属性使用only CSS 以下是我想要匹配的属性示例 data scope data sessionlink data visibility tracking 我可以 data sc
  • Python 压缩运行长度编码

    我正在尝试了解游程编码 但我在网上发现了这个挑战 但我无法做到 它要求您编写一个名为compression strg 的压缩函数 该函数将长度为64的二进制字符串strg作为输入 并返回另一个二进制字符串作为输出 输出二进制字符串应该是输入
  • Python 子进程在什么情况下会收到 SIGPIPE?

    我正在阅读子进程模块部分中有关 Popen 类的 Python 文档 我遇到了以下代码 p1 Popen dmesg stdout PIPE p2 Popen grep hda stdin p1 stdout stdout PIPE p1
  • 为什么 IUpdateSession::WebProxy 不能在 Windows 10 上运行?

    我有一些内部代码 可以使用 Windows Update API 执行 Microsoft Update 扫描 由于某些客户端无法直接访问互联网 因此我明确设置了WebProxy属性指向我们的本地代理服务器 在测试期间 在 Windows
  • 如何在 Swift 3.0 中使用 Alamofire 解析 JSON,无需任何第三方库

    这里我想通过url解析JSON 这是 url 上可用的实际 JSON 数据 所以我需要解析它并使用 Alamofire 在我的应用程序中读取 但我做不到 我的 url 中的 JSON 数据 main date 2017 01 11 USDA
  • 将 JSON 数据解析为 Excel 工作表

    我正在尝试使用以下代码将 JSON 数据作为表格提取到 Excel 工作表中 Sub test Dim httpObject As Object Set httpObject CreateObject MSXML2 XMLHTTP sURL
  • 如何在按钮单击时调用小部件的 onUpdate 方法?

    基本上 我有一个简单的应用程序小部件 它显示文件中的值并每 24 小时更新一次 它工作正常 但后来我想将刷新按钮添加到我的小部件中 并且每次单击该按钮时我想调用 onUpdate 我一直在寻找一些答案 但它们似乎与我想做的事情不符 应用程序
  • Android SQLite 更新/插入

    我想要UPDATE我的桌子上有一排 WHERE 键 最后选择的如果具有该键的行不存在 我想要INSERT it 我可以得到UPDATE如果该行已经存在 则可以工作 但不会INSERT如果丢失 我已经尝试过这些 第一个正确更新 但不插入 St
  • Elmah 无法使用 ASP.NET 网站

    我尝试在我的 asp net 网站上使用 elmah 但每当我尝试访问http localhost 端口 elmah axd我得到资源未找到异常 我的 web config 如下
  • Git Config 仅排除一个分支的文件

    我想在我的公共分支中排除一个名为 config dbconfig js 的文件 我用它推送到 github 但仍然能够从 master 推送到我的 noester com git 存储库以推送到生产环境 我将配置文件更改为 core rep
  • Typescript 给出“找不到模块‘xmlhttprequest’的声明文件。”

    Using import XMLHttpRequest from xmlhttprequest 在 Node 上 当我使用以下命令进行编译时 出现以下错误tsc index ts 4 col 32 错误 7016 QF 可用 找不到模块 的
  • JVM 缺少 Rhino

    我有一个使用 ScriptEngine 处理一些 javascript 的项目 并且在我的机器上运行良好 但是当我将项目的 jar 发送到服务器时 我发现服务器的 JVM 没有内置 Rhino 当该代码调用 new ScriptEngine
  • 发送至:网络无法访问

    我有两台机器正在测试我的代码 一台工作正常 另一台我遇到了一些问题 我不知道为什么会这样 我正在使用一个对象 C 作为我项目的网络部分 在服务器端 我这样做 为了清楚起见 删除了错误检查 res getaddrinfo NULL port
  • 在 Android 中完成父级和当前活动

    我有 3 项活动 活动 A 会导致活动 B 活动 B 又可以返回活动 A 或启动活动 C 但是 如果我在活动 C 中按返回 应用程序应该关闭 总结 活动 A 启动活动 B 紧迫Back活动 B 应该导致 A 活动 B 开始活动 C 紧迫Ba
  • 使用星号 * 量词的奇怪结果

    我正在尝试在一个简单的字符串上练习星号 量词 但是虽然我只有两个字母 但结果包含第三个匹配项 结果出来了 array 1 0 gt array 3 0 gt string 1 a 1 gt string 0 2 gt string 0 据我
  • 如何在不同的系统文化中转换日期时间?

    我需要转换DateTime不同文化格式中的值 无论系统中设置如何 没有选择任何特定的时区进行转换 任何区域性格式都使用转换日期时间值 DateTimeFormatInfo ukDtfi new CultureInfo CultureInfo