【问题标题】:How to convert DateTimeOffset ToString("o") offset set to be 00 [closed]如何将 DateTimeOffset ToString("o") 偏移量设置为 00 [关闭]
【发布时间】: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");

【问题讨论】:

    标签: c# c#-4.0 c#-3.0 c#-2.0


    【解决方案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 谢谢你让我开心!!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-13
    • 1970-01-01
    相关资源
    最近更新 更多