C#将DateTimeOffset转换为带毫秒的字符串

10

datetimeoffset中默认的toString()方法将时间转换为字符串格式,但会丢失毫秒部分。是否有方法可以保留毫秒部分呢?

4个回答

23

ToString()需要一个格式参数。有现成的字符串格式代码可以打印毫秒-可以在这里查看

例如,格式代码"o"将打印带毫秒的完整时间字符串,或者您可以创建自己的格式字符串以匹配您的需求,并使用"ffff"说明符在适当的位置添加毫秒。

myDateTime.ToString("o")

7

要获取毫秒数,你需要在字符串格式中使用 "ffff",例如:

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

Mitja

3
你可以在格式字符串中使用f字符来实现此操作。
DateTimeOffset.Now.ToString("ddMMyyy-HH:mm:ss")

给出 "23032011-16:58:36"

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

提供 "23032011-16:59:088562"

3
根据 DateTimeOffset文档,它在大多数方面的行为类似于 DateTime 类的 ToString。这意味着您可以使用标准格式字符串 o 来显示毫秒,或者使用任何 自定义格式模式。因此,您可以这样做:
Console.WriteLine(dto.ToString("o"));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接