gpt4 book ai didi

c# - 将字符串转换为 mm/dd/yyyy 格式

转载 作者:太空宇宙 更新时间:2023-11-03 20:04:00 24 4
gpt4 key购买 nike

我有以下不同格式的字符串:

16/05/201421-Jun-20142014-05-1616-05-20145/19/201414 May 2014

我需要在 c# 中将上述所有字符串转换为 mm/dd/yyyy 格式。我尝试使用 DateTime.ParseExact 作为 DateTime dt = DateTime.ParseExact("16-05-2014", "mm/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture ) 在 C# 中,但我收到异常,因为“字符串未被识别为有效的 DateTime”。

我也尝试使用 Convert.ToDateTime() 但它也不起作用。

是否有任何我们可以在 C# 中编写/可用的方法或函数将上述字符串格式转换为单一日期格式,即转换为“mm/dd/yyyy”格式??

如有任何帮助,我们将不胜感激。

最佳答案

它在格式字符串的第一个项上失败,它告诉函数将“16”视为分钟并查找输入中不存在的小时、分钟和秒。

您有几种不同的日期格式,因此需要 ParseExact() overload that accepts several different format strings :

string[] formats= {"dd/MM/yyyy", "dd-MMM-yyyy", "yyyy-MM-dd", 
"dd-MM-yyyy", "M/d/yyyy", "dd MMM yyyy"};
string converted = DateTime.ParseExact("16-05-2014", formats, CultureInfo.InvariantCulture, DateTimeStyles.None).ToString("MM/dd/yyyy");

另请记住,小写的“m”代表分钟。如果你想要几个月,你需要一个大写的“M”。有关格式字符串的完整文档在此处:

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

最后,我怀疑您在将输出格式化为字符串方面有些超前了。尽可能长时间地将这些值保留为 DateTime 对象,并且仅在最后可能的时刻将其格式化为字符串,然后再将它们显示给用户。如果你真的想要一个字符串,至少坚持使用 ISO 8601 standard format.

关于c# - 将字符串转换为 mm/dd/yyyy 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25119695/

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