简体   繁体   中英

Convert timestamp string to DateTime object in c#

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#

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

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

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 .

尝试DateTime.ParseExact方法

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM