簡體   English   中英

C#在不使用DateTimeOffset的情況下將字符串轉換為DateTime

[英]C# Converting string to DateTime without using DateTimeOffset

我正在嘗試將Facebook事件帶到我的網站。 他們將來自不同地區。 例如,某個事件是東部時間(與UTC時差為4小時),而我的本地時間為中部時間(與UTC時差為5小時)。 我正在從控制台應用程序調用他們的圖形API。 我得到這樣的事件的日期:

// get event items
me = fbClient.Get(url);
var startTime = me["start_time"];
var endTime = me["end_time"];

開始時間顯示:“ 2017-04-30T13:00:00-0400”對象{string}

當我嘗試將該字符串轉換為DateColumn類型時,它將輸出時間更改為:var dateTime = Convert.ToDateTime(startTime); {4/30/2017 12:00:00 PM}

它將小時從13轉變為12,如何使用DateTime而不是DateTimeoffset將字符串轉換為日期?

這個例子顯示了如何使用DateTimeOffset做到這一點,但是我需要DateTime類型嗎? https://stackoverflow.com/a/19403747/1019042

您可以使用DateTime的屬性DateTimeOffset像您所提供的鏈接接受的答案。

或者,如果您真的想僅使用DateTime來執行此操作,則可以從字符串中剪切時區:

var dt = DateTime.ParseExact(startTime.Substring(0,19), 
                              "yyyy-MM-ddTHH:mm:ss", 
                              CultureInfo.InvariantCulture);

暫無
暫無

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

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