datetime c#的问题

时间:2017-10-11 10:46:10

标签: c# timezone utc

在我的工作中,我创建了一个将用于Outlook的表单(它将是一个插件)。在我的表单中,用户可以选择会议日期和时间。当用户填写完表单消息后发送。然后,我的问题开始了。

例如:即使我在我的表单中选择下午1:30,发送给另一位用户的消息显示会议将在下午3:30开始。 要创建我的插件,我必须使用TMS。 API文档说我需要使用UTC时间。 在我的国家,UTC是UTC + 1,现在我们正在处理夏季,所以我们有GMT + 2。 我的问题是,在消息中,会议时间相对于表格中指明的会议时间是+2小时。

我的代码是:

TimeZoneInfo timeZoneInfo;
DateTime dateTime;

timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Central European Standard Time");
dateTime = TimeZoneInfo.ConvertTime(DateTime.Now.AddHours(-2), timeZoneInfo);

string sessionID = "";
string startTime = "";
string endTime = "";

dateTime = dateTimePicker3.Value;

x_workers api = new x_workers();
yworker gui = new xworker();
sessionID = gui.generateSessionId();

startTime = dateTimePicker.Value.Date.ToString("yyyy'-'MM'-'dd") +" "+ dateTime.ToString("HH':'mm':'ss'Z'");
endTime = dateTimePicker2.Value.Date.ToString("yyyy'-'MM'-'dd") + " " + dateTimePicker4.Value.ToString("HH':'mm':'ss'Z'");

我也试试:

string sessionID = "";
string startTime = "";
string endTime = "";

api_workers api = new api_workers();
guiWorkers gui = new guiWorkers();
sessionID = gui.generateSessionId();

startTime = dateTimePicker1.Value.Date.ToString("yyyy'-'MM'-'dd") +" "+ dateTimePicker3.Value.ToString("HH':'mm':'ss'Z'");
endTime = dateTimePicker2.Value.Date.ToString("yyyy'-'MM'-'dd") + " " + dateTimePicker4.Value.ToString("HH':'mm':'ss'Z'");

我的第二个选择我只有1小时。

我该怎么办?

0 个答案:

没有答案