简体   繁体   中英

Converting a custom date format (string) to a datetime

I have a large set (100+ million) of observations with the date represented as a custom string format. We did not generate the date strings, I just need to convert the date string to a datetime type.

How do I convert a string date (eg, 12 JUN 2010) to a datetime? My thoughts are to parse the string into components, assemble them in the correct order, and pass that string to the constructor of datetime. Is there a way to pass datetime() a custom date format string instead?

Thanks!

Take a look at DateTime.ParseExact , eg

var dateTime = DateTime.ParseExact(
    "12 JUN 2010", 
    "dd MMM yyyy", 
    CultureInfo.InvariantCulture);

You can also specify a fourth parameter to set the Kind of date/time, for example if they are UTC date/times then you'd likely want to specify DateTimeStyles.AssumeUniversal .

You can use DateTime.ParseExact , and pass the format into this method using the custom date and time format strings . This will allow you to parse the date in one pass.

That DateTime string is valid for DateTime.Parse() (or .TryParse() )

As for a truly custom string that .Parse() can't handle, you are probably correct, you'd need to pull your string apart and reassemble it in a useful manner.

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