5

我有以下格式的时间戳字符串5/1/2012 3:38:27 PM。如何在 c# 中将其转换为 DateTime 对象

4

5 回答 5

8
var date = DateTime.ParseExact("5/1/2012 3:38:27 PM", 
    "M/d/yyyy h:mm:ss tt",
    CultureInfo.InvariantCulture);
于 2013-04-19T11:14:45.130 回答
6

您输入的字符串看起来像en-us格式,即M/d/yyyy h/mm/ss tt. 解析时必须使用正确的CultureInfo实例:

var ci = System.Globalization.CultureInfo.GetCultureInfo("en-us");

var value = DateTime.Parse("5/1/2012 3:38:27 PM", ci);

或者

var ci = new System.Globalization.CultureInfo("en-us");
于 2013-04-19T11:09:28.463 回答
5

尝试使用DateTime.ParseExact类似的方法;

string s = "5/1/2012 3:38:27 PM";
DateTime date = DateTime.ParseExact(s, "M/d/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
Console.WriteLine(date);

使用指定的格式和特定​​于区域性的格式信息将日期和时间的指定字符串表示形式转换为其等效的 DateTime。字符串表示的格式必须与指定的格式完全匹配。

输出将是;

01.05.2012 15:38:27

请注意,此输出可能会根据您使用的文化而改变。由于 myCultureistr-TR,日期运算符是.我们的文化。

这是一个DEMO.

于 2013-04-19T11:17:25.110 回答
1

尝试DateTime.ParseExact方法

于 2013-04-19T11:07:14.140 回答
0

http://www.codeproject.com/Articles/14743/Easy-String-to-DateTime-DateTime-to-String-and-For
这可能对你有帮助。在那里您可以找到 ParseExact 参数的详细说明。

于 2013-04-19T11:45:14.057 回答