C# convert datetimeoffset to string with milliseconds
Solution 1
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")
Solution 2
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
Solution 3
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"));
Solution 4
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"
Yang
Updated on July 26, 2022Comments
-
Yang almost 2 years
The default toString() method in datetimeoffset converts the time into string format but loses the milliseconds. Is there anyway to preserve it?