gpt4 book ai didi

c# - 在日期时间格式之间转换

转载 作者:太空狗 更新时间:2023-10-29 21:16:53 27 4
gpt4 key购买 nike

我面临一个问题,我需要将给定输入格式的日期转换为目标格式。在 C# 中有没有标准的方法来做到这一点?

例如,我们将 yyyy.MM.dd 作为源格式,目标格式为 MM/dd/yyy(当前文化)。

问题出现是因为我使用的解析策略优先考虑当前区域性,如果失败,它会尝试从已知格式列表中解析。现在假设我们有两个等效日期,一个在上面的源文化中 (2015.12.9),另一个在当前文化中 (9/12/2015)。然后,如果我们尝试解析这两个日期,第一种情况的月份为 12,第二种情况的月份为 9,因此我们会出现不一致(它们应该表示完全相同的日期)。

我相信如果存在的话应该是

DateTime.Convert(2015.12.9, 'yyyy/MM/dd', CultureInfo.CurrentCulture). 

有什么想法吗?

编辑:

谢谢大家的想法和建议,但是你们中的大多数人对我的问题的解释并不完全正确。大多数人回答的是给定格式的直接解析,然后转换为 CurrentCulture。

DateTime.ParseExact("2015.12.9", "yyyy.MM.dd", CultureInfo.CurrentCulture)

这仍将返回 12 作为月份,尽管它采用 CurrentCulture 格式。因此,我的问题是,是否有任何标准方法可以将 yyyy.MM.d 中的日期转换为 MM/dd/yyy 格式,以便月份现在位于正确的位置并 THEN 在目标文化中解析它。这样的功能很可能是不存在的。

最佳答案

DateTime.ParseExact是你要找的:

DateTime parsedDate = DateTime.ParseExact("2015.12.9", "yyyy.MM.d", CultureInfo.InvariantCulture);

或者最终 DateTime.TryParseExact如果您对输入字符串没有信心。

关于c# - 在日期时间格式之间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34176798/

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