2015-03-01 3 views
-2

Давайте предположим, что у меня есть это DateTime(Mar/01/2015 09:55:52)Datetime UTC/GMT время по местному времени «где я»

Я хочу знать, если это время (я думаю, что на этот раз из Германии, в любом случае, я живу в Бразилия и разница между нами - 4 часа).

Так в основном:

DateTime У меня есть: Mar/01/2015 09:55:52

DateTime.Now Это representes "где я": Mar/01/2015 05:55:52

Я хочу сделать это parse сказать мне, к примеру, если это " DateTime, который у меня есть ", составляет 1 минуту после минимум и 10 минут позже максимум из" DateTime, где я есть ".

+0

Так что дайте мне понять это. если бы у меня было время «x», вы хотите, чтобы программа вернула true, если «между 1 и 10 минутами позже» и false в противном случае. –

+0

да Дон .. но есть разные времена, из разных зон ... вот в чем проблема. –

+2

Не хватает информации из того, что вы опубликовали. Вы должны включить что-то, чтобы указать часовой пояс или смещение UTC. Вы не можете просто догадаться, что оригинал из Германии. –

ответ

0

Если вы на .net 4.5 - вы можете использовать TimeZoneInfo класс, он имеет ConvertTime метод, который позволяет перейти в DateTime и часовой пояс

TimeZoneInfo.ConvertTime Method (DateTime, TimeZoneInfo)

вы можете использовать его как:

DateTime dateTimeIhave = TimeZoneInfo.ConvertTime(dateTheyGave, theirTimeZone, yourTimeZone); 

if (dateTimeIhave > DateTime.Now.AddMinutes(1) 
      && dateTimeIhave < DateTime.Now.AddMinutes(10)) 
{ 
    doSomething(); 
} 
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 секундами друг от друга.

Смежные вопросы