簡體   English   中英

在C#中將2012-06-28T14:30:00-04:00轉換為yyyyMMddTHHmm格式

[英]Convert 2012-06-28T14:30:00-04:00 to yyyyMMddTHHmm format in C#

我想將c#之類的日期轉換為“ yyyyMMddTHHHmm”格式,如2012-06-28T14:30:00-04:00,兩個日期都在字符串中。

string currentDate="2012-06-28T14:30:00-04:00";
string requiredDate="yyyyMMddTHHmm"

當我嘗試使用Convert.ToDateTime()轉換此日期時,C#返回“ 20120629T0000-04:00”,但這不是正確的日期。

看一下標准日期和時間格式字符串 (MSDN)。 我想在DateTime實例上僅使用ToString()方法就足夠了。

可能您可能需要在convert方法的適當重載中指定CultureInfo此處為MSDN)。 服務器和客戶端應用程序可能處於不同的文化和/或時區。

DateTime.Parse("2012-06-28T14:30:00-04:00").ToString("yyyyMMddTHHmm")產生您可能想要的值。

請注意,將值從絕對ISO8601格式更改為本地ISO8601格式時應謹慎進行,因為它會更改值的含義,並且經常會更改值本身。

請確保您真正想要以下哪個選項(並相應地調整代碼):

  • 只需從值中刪除時間即可。 如果值來自不同時區,則將產生半隨機時間。
  • 始終將值移動到給定的時區並使它在該時區本地。
  • 始終將值移動到當前時區並使它在當前時區本地

也許您正在尋找其他東西。

我不確定這是您嘗試的格式

string currentDate="2012-06-28T14:30:00-04:00";
DateTime.Parse(currentDate).ToString("o")

這將為您提供2012-06-29T00:00:00.0000000+05:30

暫無
暫無

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

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