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

前端之家收集整理的这篇文章主要介绍了c# – 在日期时间格式之间转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正面临一个问题,我需要将给定输入格式的日期转换为目标格式.有没有标准的方法在C#中执行此操作?

举个例子说我们有yyyy.MM.dd作为源格式,目标格式是MM / dd / yyy(当前文化).

问题出现了,因为我使用的解析策略优先考虑当前的文化,然后如果失败则尝试从已知格式列表中解析.现在说我们在上面的源文化(2015.12.9)和现在的文化(2015年12月9日)中有两个等效日期.然后,如果我们试图解析这两个日期,第一个案例的月份将是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,以便月份现在位于正确的位置,然后在目标文化中解析它.这种功能可能是不存在的.

解决方法

DateTime.ParseExact正是您要找的:
DateTime parsedDate = DateTime.ParseExact("2015.12.9","yyyy.MM.d",CultureInfo.InvariantCulture);

或者如果你对输入字符串没有信心,最后是DateTime.TryParseExact.

原文链接:https://www.f2er.com/csharp/91444.html

猜你在找的C#相关文章