如何将 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/p 为 2018-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 时间戳