8

datetimeoffset 中的默认 toString() 方法将时间转换为字符串格式,但会丢失毫秒。有没有办法保存呢?

4

4 回答 4

19

ToString()接受格式参数。现有的字符串格式代码将打印毫秒 - 看看这里的列表

例如,格式代码“o”将打印一个以毫秒为单位的完整时间字符串,或者您可以创建自己的格式字符串以满足您的需要并使用“ffff”说明符在适当的地方添加毫秒。

myDateTime.ToString("o")
于 2011-03-23T16:58:04.813 回答
7

您必须使用字符串格式的“ffff”来获得毫秒,例如:

DateTime date = DateTime.Now;
 string strDate = String.Format("{0:dd.MM.yyyy hh:mm.ss:ffff}", date);

米贾

于 2011-03-23T16:56:22.173 回答
3

根据文档,这种行为在大多数方面都DateTimeOffset类似于DateTime类。这意味着您可以使用例如显示毫秒的标准格式字符串,或者您可以使用任何您想要的自定义格式模式。ToStringo

所以你可以这样做:

Console.WriteLine(dto.ToString("o"));
于 2011-03-23T17:00:45.187 回答
2

您可以使用格式字符串中的 f 字符来执行此操作。

DateTimeOffset.Now.ToString("ddMMyyy-HH:mm:ss")

给出“23032011-16:58:36”

DateTimeOffset.Now.ToString("ddMMyyy:HHmmssffff")

给出“23032011-16:59:088562”

于 2011-03-23T16:59:21.807 回答