Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert string to Datetime dd/MM/yyyy hh:mm:ss tt

Tags:

c#

datetime

How can I convert this 7/3/2015 12:40:02 PM to DateTime with format "dd/MM/yyyy hh:mm:ss tt" I have done like this:

BreackEndTime = DateTime.ParseExact(configViewModel.EndPause, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

But I always get

String was not recognized as a valid DateTime.

enter code here

like image 408
Moez Rebai Avatar asked Nov 28 '22 23:11

Moez Rebai


2 Answers

Since months and days can have a single digit use

BreackEndTime = DateTime.ParseExact(configViewModel.EndPause, "d/M/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);

The "M" Custom Format Specifier (exemplary, d works similar)

The "M" custom format specifier represents the month as a number from 1 through 12 (or from 1 through 13 for calendars that have 13 months). A single-digit month is formatted without a leading zero.

Update

Since the hour can also have a single digit you have to use:

DateTime.ParseExact("7/3/2015 1:52:16 PM", "d/M/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);` 

... so "d/M/yyyy h:mm:ss tt" instead of "d/M/yyyy hh:mm:ss tt". Note that the same applies to the minutes and seconds, if they also can have single digits use "d/M/yyyy h:m:s tt". I hope you got the point now.

like image 86
Tim Schmelter Avatar answered Dec 09 '22 10:12

Tim Schmelter


If your 7/3/2015 12:40:02 PM is string, you need to use single digit format specifiers as M specifier and d specifier like;

BreackEndTime = DateTime.ParseExact(configViewModel.EndPause,
                                    "M/d/yyyy hh:mm:ss tt", 
                                    CultureInfo.InvariantCulture);
like image 26
Soner Gönül Avatar answered Dec 09 '22 10:12

Soner Gönül