Обработка времени UTC в C #?

Я не специалист по внутреннему устройству C #, поэтому этот вопрос может показаться совершенно глупым. Если да, то поправьте меня. У меня есть данные (в формате UTC), взятые с SQL-сервера.

2011-03-26 11:03:58.000
2011-03-26 11:04:25.000
...

Я анализирую этот файл внутри C # и использую следующее:

DateTime date = DateTime.Parse(value);

для извлечения значения в объект DateTime . Теперь я вычитаю произвольное время в 6 часов из этого времени следующим образом:

date = date.Subtract(new TimeSpan(6, 0, 0));

И, наконец, я записываю это обратно в другой файл следующим образом:

output.WriteLine(date.ToString("yyyy-MM-dd HH:mm:ss.fff"));

Поскольку я не делал никаких неявных преобразований,вывод также будет в формате UTC. Мой вопрос: разрешено ли такое добавление / вычитание времени в анализируемую дату или мне нужно выполнить какое-то преобразование UTC в C #, прежде чем я смогу манипулировать временем? Мне сложно осмыслить это. Не могли бы вы прояснить это?

РЕДАКТИРОВАТЬ: Попытайтесь написать краткий вопрос Исходная дата указана в формате UTC. Я хочу прибавить / отнять какое-то время и записать его обратно в UTC. Я хочу знать, могу ли я напрямую манипулировать проанализированной датой или мне нужно сделать некоторые преобразования, т.е. явно сообщить C #, что дата находится в формате UTC, а затем манипулировать ею, а затем снова сказать, чтобы она записала дату в формате UTC.

5
задан Legend 16 June 2011 в 01:15
поделиться