gpt4 book ai didi

c# - 将字符串 "7/16/2013 7:00:00 AM"转换为日期时间

转载 作者:行者123 更新时间:2023-11-30 19:42:07 25 4
gpt4 key购买 nike

我很震惊为什么它给我一个错误

Convert.ToDateTime("7/16/2013 7:00:00 AM");

但如果我使用的话效果很好

Convert.ToDateTime(("16/7/2013 7:00:00 AM");

如何将“7/16/2013 7:00:00 AM”转换为 DateTime

最佳答案

您可以使用特定的语言环境,也可以定义 format自己像这样:

 var dt = DateTime.ParseExact("7/16/2013 7:00:00 AM", "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);

我用过

  • M 月份 0-12 数字,不带前导零
  • d 天数 0-31,不带前导零
  • yyyy 所有数字的年份
  • 12 小时格式的 M 小时,0-12 不带前导零
  • mm 0-59 分,带前导零
  • ss 0-59 秒,带前导零

作为文化,我确实指定了不变文化,它在所有系统上基本上都是英语。无论系统或线程的当前文化如何,都是一样的。

您的问题确实源于您确实尝试使用系统中相同的线程区域设置处理来自不同区域设置的日期,这似乎是英语。要正确处理日期,您需要知道它是在哪个区域设置中输入的,以便能够正确解析它。某些语言环境确实会切换,例如月份和日期,就像您的示例中一样。有些使用不同的分隔符,甚至其他文化对 . , 字符作为千位分隔符和小数点。

德语使用 , 作为小数点,而 .作为千位分隔符。日期看起来像

“24.12.2013 14:25:59”

没有 AM/PM 没有/但是有很多点。

关于c# - 将字符串 "7/16/2013 7:00:00 AM"转换为日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18029580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com