簡體   English   中英

從DateTime.Now中刪除UtcOffset

[英]Remove UtcOffset from DateTime.Now

我需要沒有utcOffset的往返格式的DateTime.Now值。 基於這篇MSDN文章,如果你創建一個沒有UtcOffset的DateTime的新實例,它會產生我想要的格式。

DateTime date1 = new DateTime(2008, 4, 10, 6, 30, 0);
// Displays 2008-04-10T06:30:00.0000000   

但如果我使用DateTime.Now,我得到字符串中的偏移量:

DateTime.Now.ToString("o")
// Displays 2012-02-08T14:11:12.8378703-05:00   

我可以使用substring或填充沒有它的DateTime實例,但我想知道是否有辦法刪除UtcOffset。

如果DateTime.Kind既不是Utc也不是Local,則省略UTC偏移量(例如,“ - 05:00 ”或“Z”)。

您可以按如下方式創建此類DateTime值:

DateTime.UtcNow.ToString("o");
// "2012-02-08T19:19:38.5767158Z"

new DateTime(DateTime.UtcNow.Ticks).ToString("o");
// "2012-02-08T19:19:38.5767158"

new DateTime(DateTime.Now.Ticks).ToString("o");
// "2012-02-08T14:19:38.5767158"

如果我理解你想要的,你可以使用DateTime.UtcNow

DateTime.Now.ToString("o")
DateTime.UtcNow.ToString("o")

輸出:

2012-02-08T13:18:22.4459488-06:00
2012-02-08T19:18:22.4599488Z

我只是通過使用歸零了

new DateTimeOffset(Date_Goes_Here, TimeSpan.Zero);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM