The default toString() method in datetimeoffset converts the time into string format but loses the milliseconds. Is there anyway to preserve it?
ToString()
takes a format argument. There are existing string format codes that will print milliseconds - take a look at the list here.
For example the format code "o" will print a full time string with milliseconds, or you can create your own format string to match your needs and use the "ffff" specifier to add milliseconds where appropriate.
myDateTime.ToString("o")
You have to use "ffff" in the string format to get miliseconds, like:
DateTime date = DateTime.Now;
string strDate = String.Format("{0:dd.MM.yyyy hh:mm.ss:ffff}", date);
Mitja
According to the documentation of DateTimeOffset
this behaves in most ways similar to ToString
of the DateTime class. This means that you can for example use the standard format string o
which shows the milliseconds, or you can use whatever custom format pattern you want.
So you can do this:
Console.WriteLine(dto.ToString("o"));
You can do this using the f character in your format string.
DateTimeOffset.Now.ToString("ddMMyyy-HH:mm:ss")
Gives "23032011-16:58:36"
DateTimeOffset.Now.ToString("ddMMyyy:HHmmssffff")
Gives "23032011-16:59:088562"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With