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.