如何将 C# datetimeOffset 转换为指定格式
Posted
技术标签:
【中文标题】如何将 C# datetimeOffset 转换为指定格式【英文标题】:How to Convert C# datetimeOffset to specified format 【发布时间】:2018-03-27 07:37:05 【问题描述】:我需要将 datetimeoffset 格式转换为以下格式。
在 TimeOffset 而不是 Dot 中,我需要在时间偏移之前使用冒号。
DateTimeOffset PassDate = DateTimeOffset.Now;
var x = PassDate.ToString("o");
Console.WriteLine(PassDate.ToString("o"));
在下面的屏幕截图中,我得到了 Dot - 在 offset 之前。而不是 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
【问题讨论】:
是-05
到-5
也是一个要求,还是一个错字?
@Nyerguds 是 utc 时间到 cst 时间转换 -5:00 .yes 需要删除 0。
【参考方案1】:
DateTimeOffset PassDate = DateTimeOffset.Now;
var dateFormat = "yyyy-MM-ddTHH:mm:ss:ffK";
var x = PassDate.ToString(dateFormat);
Console.WriteLine(x);
K
和 zzz
修饰符可以互换
【讨论】:
【参考方案2】:DateTimeOffset PassDate = DateTimeOffset.Now;
string format = "yyyy-MM-ddTHH:mm:ss:ffzzz";
Console.WriteLine(PassDate.ToString(format,CultureInfo.InvariantCulture));
【讨论】:
【参考方案3】: 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
【讨论】:
【参考方案4】:单击here 获取有关日期时间格式的更多信息,这可能会有所帮助。
【讨论】:
没有链接...并且通常不鼓励仅链接的答案。 我已经更新了链接,感谢您指点@Nyerguds,所有的描述都已经出现在链接页面上。 单击here 以获取有关仅链接答案的更多信息,这可能会有所帮助。 @Ahire_Sayali “一般不鼓励”实际上是指“被版主删除”。以上是关于如何将 C# datetimeOffset 转换为指定格式的主要内容,如果未能解决你的问题,请参考以下文章
如何将 UTC DateTimeOffset 转换为使用系统时区的 DateTime
将 SQL Server DATETIMEOFFSET 转换为 mySQL DateTime
如何将 DateTimeOffset ToString("o") 偏移量设置为 00 [关闭]