日期时间UTC / GMT时间到当地时间“我在哪里”

时间:2015-03-01 20:34:15

标签: c# datetime

我们说我有DateTime(Mar/01/2015 09:55:52)

我想知道那个时间(我想这次来自德国,不管怎样,我住在巴西,我们之间的差别是4小时)。

基本上是这样的:

DateTime我有:Mar/01/2015 09:55:52

DateTime.Now代表"我在哪里":Mar/01/2015 05:55:52

我想让这个parse告诉我,例如,如果那"我有的日期时间"至少是1分钟之后,10分钟之后最多是从"日期时间开始,我就是#34;。

2 个答案:

答案 0 :(得分:0)

//pseudocode
//DateTime that represents where you're at = dnow;
//DateTime that you have = dhave;

//convert dnow and dhave to seconds using this algorithm:
//convert the time into a string and get the data using a parser.
//int seconds = current seconds;
//seconds += minutes * 60;
//seconds += hours * 60 * 60;

然后查明两个时间是否相隔60秒到600秒。

答案 1 :(得分:0)

如果你在.net 4.5 - 你可以使用TimeZoneInfo课程,它有一个ConvertTime方法,可让你传入日期时间和时区

TimeZoneInfo.ConvertTime Method (DateTime, TimeZoneInfo)

您可以像:

一样使用它
DateTime dateTimeIhave = TimeZoneInfo.ConvertTime(dateTheyGave, theirTimeZone, yourTimeZone);

if (dateTimeIhave > DateTime.Now.AddMinutes(1)
            && dateTimeIhave < DateTime.Now.AddMinutes(10))
{
    doSomething();
}