当前位置:  开发笔记 > 编程语言 > 正文

在日期时间格式之间转换

如何解决《在日期时间格式之间转换》经验,为你挑选了1个好方法。

我正面临一个问题,我需要将给定输入格式的日期转换为目标格式.有没有标准的方法在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)

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



1> Perfect28..:

您正在寻找DateTime.ParseExact:

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

或者eventualy DateTime.TryParseExact如果你对输入字符串没有信心.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有