有没有办法在C#中打印计算出的时间格式字符串?

时间:2012-05-15 17:44:44

标签: c# .net datetime time datetime-format

我知道标题可能令人困惑,但我不确定如何更好地说出来......

我这样做是为了得到当前小时的日志:

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

我怎样才能获得前一个小时?即:

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

有没有可能的时间格式?

编辑:我无法访问C#代码,而是访问exe.config,我可以在其中更改内容。

与DateTime.ToString(var);

上的var类似

我问得太多了吗?

3 个答案:

答案 0 :(得分:8)

从日期/时间减去一小时,格式化

答案 1 :(得分:3)

您的问题的答案是

格式字符串仅定义格式。它没有能力对它进行计算(为什么会这样?)

答案 2 :(得分:0)

我不知道为什么你有这个要求,但我怀疑你可能正在从另一个时区的机器上接收DateTime对象...如果你在格式字符串中包含UTC的偏移量可能会有所帮助:

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

这样,当您看到日志时,您可以看出特定事件发生在UTC -3小时。

我认为如果不访问原始代码,这是最好的。