我有以下格式5/1/2012 3:38:27 PM
的时间戳字符串。如何将其转换为c#
答案 0 :(得分:8)
var date = DateTime.ParseExact("5/1/2012 3:38:27 PM",
"M/d/yyyy h:mm:ss tt",
CultureInfo.InvariantCulture);
答案 1 :(得分: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");
答案 2 :(得分: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
请注意 ,此输出可以根据您使用的文化进行更改。由于我的Culture
为tr-TR
,因此日期运算符为.
我们的文化。
这是DEMO
。
答案 3 :(得分:1)
尝试使用DateTime.ParseExact方法
答案 4 :(得分:0)
http://www.codeproject.com/Articles/14743/Easy-String-to-DateTime-DateTime-to-String-and-For
这可能会帮助你。在那里,您可以找到ParseExact参数的详细说明。