5

I have timestamp strings in the following format 5/1/2012 3:38:27 PM. How do I convert it to a DateTime object in c#

PutraKg
  • 2,226
  • 3
  • 31
  • 60

5 Answers5

8
var date = DateTime.ParseExact("5/1/2012 3:38:27 PM", 
    "M/d/yyyy h:mm:ss tt",
    CultureInfo.InvariantCulture);
Eren Ersönmez
  • 38,383
  • 7
  • 71
  • 92
6

You input string looks like in en-us format, which is M/d/yyyy h/mm/ss tt. You have to use proper CultureInfo instance while parsing:

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

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

or

var ci = new System.Globalization.CultureInfo("en-us");
MarcinJuraszek
  • 124,003
  • 15
  • 196
  • 263
5

Try to use DateTime.ParseExact method like;

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);

Converts the specified string representation of a date and time to its DateTime equivalent using the specified format and culture-specific format information. The format of the string representation must match the specified format exactly.

Output will be;

01.05.2012 15:38:27

Be aware, this output can change based which Culture you used. Since my Culture is tr-TR, the date operator is . our culture.

Here is a DEMO.

Soner Gönül
  • 97,193
  • 102
  • 206
  • 364
1

Try the DateTime.ParseExact method

Hossein Narimani Rad
  • 31,361
  • 18
  • 86
  • 116
0

http://www.codeproject.com/Articles/14743/Easy-String-to-DateTime-DateTime-to-String-and-For
this maybe helps you. There you can find a detailled explanation of the ParseExact parameters.

bema
  • 385
  • 2
  • 8