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 下午}
它把小时从 13 改成了 12,我如何使用 DateTime 而不是使用 DateTimeoffset 将字符串转换为日期?
这个例子展示了如何使用 DateTimeOffset 来实现,但我需要我的 DateTime 类型?
您可以使用 DateTimeOffset
的 DateTime
属性,就像您提供的 link 中接受的答案一样。
或者,如果您真的喜欢用DateTime
来做,您可以从字符串中删除时区:
var dt = DateTime.ParseExact(startTime.Substring(0,19),
"yyyy-MM-ddTHH:mm:ss",
CultureInfo.InvariantCulture);
我正在尝试将 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 下午}
它把小时从 13 改成了 12,我如何使用 DateTime 而不是使用 DateTimeoffset 将字符串转换为日期?
这个例子展示了如何使用 DateTimeOffset 来实现,但我需要我的 DateTime 类型?
您可以使用 DateTimeOffset
的 DateTime
属性,就像您提供的 link 中接受的答案一样。
或者,如果您真的喜欢用DateTime
来做,您可以从字符串中删除时区:
var dt = DateTime.ParseExact(startTime.Substring(0,19),
"yyyy-MM-ddTHH:mm:ss",
CultureInfo.InvariantCulture);