如何在 C# 中将字符串转换为日期时间 [重复]
Posted
技术标签:
【中文标题】如何在 C# 中将字符串转换为日期时间 [重复]【英文标题】:how do i convert string to datetime in c# [duplicate] 【发布时间】:2011-07-15 21:59:14 【问题描述】:可能的重复:Convert string to datetime Using C#Converting String to DateTime C#.net
嗨, 我有一个由日期时间组成的字符串,格式为 dd/mm/yyyy hh:mm:ss.ms
即日期/月/年时:分:秒.毫秒。例如。 18/03/2011 15:16:57.487
如何使用 c# 将此字符串转换为日期时间
问候 cmrhema。
【问题讨论】:
您确实注意到在编写问题时出现的相关问题列表?那里有很多与您的问题完全相同的重复项。 在发帖之前为什么不搜索一下发帖时列出的上一个帖子 再次搜索,我发现这个更好(因为它还指出了DateTime.TryParse
):Convert string to DateTime in C#
我发誓需要一个 DateTime.ParseExact 标签,因为这个问题几乎每天都会出现。
【参考方案1】:
您可以使用 DateTime.Parse 或 DateTime.ParseExact
DateTime dateValue;
string dateString = "2/16/2008 12:15:12 PM";
try
dateValue = DateTime.Parse(dateString);
Console.WriteLine("'0' converted to 1.", dateString, dateValue);
catch (FormatException)
Console.WriteLine("Unable to convert '0'.", dateString);
对于 ParseExact
dateString = "Sun 15 Jun 2008 8:30 AM -06:00";
format = "ddd dd MMM yyyy h:mm tt zzz";
try
result = DateTime.ParseExact(dateString, format, provider);
Console.WriteLine("0 converts to 1.", dateString, result.ToString());
catch (FormatException)
Console.WriteLine("0 is not in the correct format.", dateString);
【讨论】:
【参考方案2】:你正在寻找DateTime.ParseExact
:
DateTime time = DateTime.ParseExact(
"18/03/2011 15:16:57.487",
"dd/MM/yyyy HH:mm:ss.fff",
CultureInfo.InvariantCulture
);
请注意,MM
表示月份,mm
表示分钟,HH
是 24 小时制,hh
是 12 小时制,f
是毫秒。
【讨论】:
【参考方案3】:这是一种以 DateTime 所在格式解析并保持毫秒数的方法
string dtString = "18/03/2011 15:16:57.487";
System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR");
DateTime dt = DateTime.Parse(dtString.Split('.')[0], culture);
Double milliseconds = Double.Parse(dtString.Split('.')[1]);
dt = dt.AddMilliseconds(milliseconds);
【讨论】:
韦斯格兰特,我正在寻找上述答案。谢谢【参考方案4】:DateTime.ParseExact 是你想要的,如果你知道日期字符串的确切格式。
【讨论】:
【参考方案5】:看DateTime.Parse()
【讨论】:
【参考方案6】:Convert.ToDateTime() http://msdn.microsoft.com/en-us/library/9xk1h71t.aspx
【讨论】:
【参考方案7】:String str="04031985";
DateTime dt = DateTime.Parse(str);
DateTime dt = DateTime.ParseExact(str, @"MMddyyyy", null);
【讨论】:
以上是关于如何在 C# 中将字符串转换为日期时间 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中将 APRIL,03/2013 字符串转换为 DateTime [重复]
如何在 C# 中将日期字符串转换为 DateTime 对象? [复制]