Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DateTime.ParseExact omitting milliseconds in c#?

Tags:

c#

.net

datetime

I am trying to convert a string to Datetime in c#. String datestring= 2013/03/18 10:54:07.679

  1. I tried DateTime dt=DateTime.ParseExact(datestring, "yyyy/MM/dd HH:mm:ss.fff",null); The result is {3/18/2013 10:54:07 AM}

  2. I tried DateTime.TryParseExact(datestring,"yyyy/MM/dd HH:mm:ss.fff",CultureInfo.InvariantCulture,DateTimeStyles.None,out dttt); The result is {3/18/2013 10:54:07 AM}

In both the above cases its ommitting millisecons(679).

How can I convert it to datetime correctly by keeping the milliseconds?

like image 591
user3661657 Avatar asked May 21 '14 16:05

user3661657


1 Answers

it's not ommitting you are just checking through debugger and debugger shows it using AM or PM ,it doenot show milliseconds part.

Try This:

DateTime dt=DateTime.ParseExact(datestring, "yyyy/MM/dd HH:mm:ss.fff",null);
Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss.fff"));

EDIT: from your comment But I need the answer in Datetime instead of string

You have already the DateTime including MilliSeconds just debugger is not showing because (As mentioned in comment by Ant P) Debugger calls the Parameterless overload of ToString() method which shows the DateTime without MilliSeconds.

like image 88
Sudhakar Tillapudi Avatar answered Oct 02 '22 18:10

Sudhakar Tillapudi