datetimeoffset中的默认toString()方法将时间转换为字符串格式,但会丢失毫秒数。反正有没有保留它?
答案 0 :(得分:19)
ToString()
采用格式参数。现有的字符串格式代码将打印毫秒 - 请查看list here。
例如,格式代码“o”将打印一个包含毫秒的全时字符串,或者您可以创建自己的格式字符串以满足您的需要,并使用“ffff”说明符在适当的位置添加毫秒。
myDateTime.ToString("o")
答案 1 :(得分:6)
你必须在字符串格式中使用“ffff”来获得毫秒,例如:
DateTime date = DateTime.Now;
string strDate = String.Format("{0:dd.MM.yyyy hh:mm.ss:ffff}", date);
米蒂亚
答案 2 :(得分:3)
根据DateTimeOffset
的{{3}},这种行为在很多方面类似于documentation类的ToString
。这意味着您可以使用显示毫秒的标准格式字符串o
,或者您可以使用您想要的任何DateTime。
所以你可以这样做:
Console.WriteLine(dto.ToString("o"));
答案 3 :(得分:2)
您可以使用格式字符串中的f字符执行此操作。
DateTimeOffset.Now.ToString("ddMMyyy-HH:mm:ss")
给出“23032011-16:58:36”
DateTimeOffset.Now.ToString("ddMMyyy:HHmmssffff")
给出“23032011-16:59:088562”