如何将 DateTimeOffset ToString("o") 偏移量设置为 00 [关闭]

Posted

技术标签:

【中文标题】如何将 DateTimeOffset ToString("o") 偏移量设置为 00 [关闭]【英文标题】:How to convert DateTimeOffset ToString("o") offset set to be 00 [closed] 【发布时间】:2018-02-22 16:35:46 【问题描述】:

DateTimeOffset.Now = 2/22/2018 10:32:50 AM -06:00 已转换为 xmlformatTime = "2018-02-22T10:33:18.2670639-06:00", ,格式中需要删除,预计 o/p2018-02-22T10:33:18.00-06:00

18.2670639 需要改成 18.00

DateTimeOffset PassDate = DateTimeOffset.Now;
int minutes = PassDate.Minute;
int seconds = PassDate.Second;
var  offset = PassDate.Offset;
var xmlformatTime = PassDate.ToString("o");
Console.WriteLine(xmlformatTime)

当尝试使用以下选项时。

var xmlformatTime = PassDate.ToString("'MM'-'dd'T'HH':'mm':'ss'.00'K");

【问题讨论】:

【参考方案1】:

来自MSDN:

“O”或“o”标准格式说明符对应于 DateTimeOffset 值的 "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" 自定义格式字符串

所以用

var xmlformatTime = PassDate.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.00'zzz");

而不是将毫秒更改为零。

【讨论】:

@D stanley 我已经尝试过你的选择,下面的行 System.FormatException: 'Cannot find a matching quote character for the character '''.'attached 上面的截图除外 @MohamedSahir 抱歉,我错过了这是一个 DateTimeOffset 并且在我的复制粘贴中有一个错误。 bati06 已修复两者。 @D stanley 谢谢你让我开心!!!!

以上是关于如何将 DateTimeOffset ToString("o") 偏移量设置为 00 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Caliburn.Micro 将 DateTimeOffset 绑定到 DatePicker

如何将 DateTimeOffset ToString("o") 偏移量设置为 00 [关闭]

如何将 UTC DateTimeOffset 转换为使用系统时区的 DateTime

如何使用 System.Text.Json 序列化 DateTimeOffset 为 Unix 时间戳

如何在 JPQL 中设置 datetimeoffset 值?

实体框架将 DateTimeOffset 映射到 SQL Server DateTime