How to convert string to a DateTime in C#?

2019-06-26 03:24发布

is it possible to convert a string (date stored as varchar in database) to datetime in c#?

eg. i'm having a table which stores dates as varchar and it stores values as example

01/21/14 11:42:36 PM

i want to get the result in the format yyyy-mm-dd

i tried,

CultureInfo enUS = new CultureInfo("en-US");
DateTime d;
DateTime.TryParseExact("01/21/14 11:42:36 PM", "yyyy-mm-dd", enUS, DateTimeStyles.None, out d);

also tried below steps:

CultureInfo enUS = new CultureInfo("en-US");
DateTime d = Convert.ToDateTime("01/21/14 11:42:36 PM");
string dt = Convert.ToString(d);
DateTime.TryParseExact(dt, "MM/dd/yy hh:mm:ss tt", enUS, DateTimeStyles.None, out d);
var output = d.ToString("yyyy-mm-dd");

getting value 1/1/0001 12:00.. in dt.

what could be the reason? also in which format do i need to pass the date (dt in above case) to DateTime.TryParseExact(..)

2条回答
放我归山
2楼-- · 2019-06-26 04:17

The second parameter of your call should be the format you're passing. After the datetime is created you can specify the output format:

CultureInfo enUS = new CultureInfo("en-US");
DateTime d;
DateTime.TryParseExact("01/21/14 11:42:36 PM", "MM/dd/yy hh:mm:ss tt", enUS, DateTimeStyles.None, out d);

var output = d.ToString("yyyy-MM-dd");
查看更多
smile是对你的礼貌
3楼-- · 2019-06-26 04:17
            String date = "01/21/14 11:42:36 PM";
            DateTime dt = Convert.ToDateTime(date);
            var output = dt.ToString("yyyy-MM-dd");
查看更多
登录 后发表回答