在C#中将当前UTC时间转换为微秒格式

问题描述 投票:0回答:1

如何用以下格式表示当前UTC日期时间 yyyy-MM-ddThh:mm:ss.sssZ

我试过这个:

Convert.ToDatetime(DateTime.UtcNow).ToString("yyyy-MM-ddThh:mm:ss.sssZ")

发布时间:2024-05-10T01:56:36:36Z

但问题是即使我指定“sssZ”,我的秒数也限制为两位数而不是 3

c# .net
1个回答
0
投票

如果您使用

string.Format
打印小数,您可以执行以下操作:

string.Format("{0:#.##}", 1.23456m) // prints "1.23"

此处的格式,

#.##
,与您尝试显示秒的格式类似,
ss.ss

不幸的是,您无法对 DateTimes 执行同样的操作。如果您想显示小数秒,则需要使用不同的符号 -

f

yyyy-MM-ddThh:mm:ss.fffZ

“fff”自定义格式说明符表示秒分数的三个最高有效数字;也就是说,它表示日期和时间值中的毫秒。 来源

但是,如果你真的想要“百万分之一秒”,你需要更多

f
。事实上有 6 个。

“ffffff”自定义格式说明符表示秒分数的六位最高有效数字;也就是说,它表示日期和时间值中的百万分之一秒。

所以你的最终代码是

Convert.ToDatetime(DateTime.UtcNow).ToString("yyyy-MM-ddThh:mm:ss.ffffffZ")

请参阅自定义日期和时间格式字符串,了解可用符号及其含义的完整列表。

© www.soinside.com 2019 - 2024. All rights reserved.