如何将C# datetimeOffset 转换为指定格式

How to Convert C# datetimeOffset to specified format

我需要将 datetimeoffset 格式转换为以下格式。

在 TimeOffset 而不是 Dot 中,我需要在时间偏移前加一个冒号。

DateTimeOffset PassDate = DateTimeOffset.Now;
  var x = PassDate.ToString("o");
 Console.WriteLine(PassDate.ToString("o"));

在下面的屏幕截图中,几秒钟后我得到了 Dot - 在 offset.Instead 之前 Dot 需要冒号。

当前 O/p:2018-03-20T00:00:00.00-05:00 预期 O/p:2018-03-20T00:00:00:00-5:00

格式:

2018-03-20T00:00:00.00-05:00  to 2018-03-20T00:00:00:00-5:00

单击 here 获取有关日期时间格式的更多信息,这可能会有所帮助。

   DateTimeOffset PassDate = DateTimeOffset.Now;
   var x = PassDate.ToString("yyyy-MM-dd'T'HH:mm:ssK");
   Console.WriteLine(x);

输出2018-03-27T10:46:22+03:00

DateTimeOffset PassDate = DateTimeOffset.Now;       
string format = "yyyy-MM-ddTHH:mm:ss:ffzzz";
Console.WriteLine(PassDate.ToString(format,CultureInfo.InvariantCulture));
DateTimeOffset PassDate = DateTimeOffset.Now;
var dateFormat = "yyyy-MM-ddTHH:mm:ss:ffK";
var x = PassDate.ToString(dateFormat);
Console.WriteLine(x);

Kzzz 修饰符可以互换