2012-05-15 1 views
2

Я знаю, что название может ввести в заблуждение, но я не уверен, как слово это лучше ....Есть ли способ распечатать вычисленную строку формата времени в C#?

Я делаю это, чтобы получить логи текущий час:

'TraceSink-'yyyy-MM-dd HH'-Hourly.log' 

Как я могу получить предыдущий час? то есть:

'TraceSink-'yyyy-MM-dd (HH-1)'-Hourly.log' 

Есть ли что-нибудь еще со временным форматом?

EDIT: У меня нет доступа к C# -коду, но exe.config, где я могу изменить то, что входит внутрь.

Как var в DateTime.ToString (var);

Я прошу слишком много?

ответ

3

Ответ на ваш вопрос: нет.

Строка формата определяет только формат. У него нет умений вычислить (и почему?)

+0

Возможно, слишком много о нем мечтает. В любом случае спасибо. – mimoralea

8

Вычесть один час с даты/времени и формата , что.

+0

'String.Format (" TraceSink- {0} -Hourly.log ", someDateTime.AddHours (-1) .ToString (" yyyy-MM-dd HH "));' –

+0

@ChaseFlorell: вы можете указать формат для DateTime в строке формата - не нужно вызывать ToString отдельно. –

+0

У вас нет доступа к коду. Просто к exe.config – mimoralea

0

Я не знаю, почему у вас есть это требование, но я подозреваю, что вы можете получать объекты DateTime с машины в другом часовом поясе ... это может быть полезно, если вы включили смещение от UTC в строке формата:

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx#zSpecifier

Таким образом, когда вы видите журнал, вы можете сказать, что конкретное событие произошло в UTC -3 часа.

Я думаю, что это лучшее, что вы можете сделать без доступа к исходному коду.

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

  • Нет связанных вопросов^_^