Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法用C#打印计算时间格式字符串?_C#_.net_Datetime_Time_Datetime Format - Fatal编程技术网

有没有办法用C#打印计算时间格式字符串?

有没有办法用C#打印计算时间格式字符串?,c#,.net,datetime,time,datetime-format,C#,.net,Datetime,Time,Datetime Format,我知道标题可能会让人困惑,但我不知道如何更好地表达它 我这样做是为了获取当前小时的日志: 'TraceSink-'yyyy-MM-dd HH'-Hourly.log' 我怎样才能到达前一个小时?i、 e: 'TraceSink-'yyyy-MM-dd (HH-1)'-Hourly.log' 这样的时间格式有可能吗 编辑:我没有访问C#代码的权限,但有一个exe.config,可以在其中更改代码 比如DateTime.ToString上的var(var) 我问得太多了吗?从日期/时间中减去一个

我知道标题可能会让人困惑,但我不知道如何更好地表达它

我这样做是为了获取当前小时的日志:

'TraceSink-'yyyy-MM-dd HH'-Hourly.log'
我怎样才能到达前一个小时?i、 e:

'TraceSink-'yyyy-MM-dd (HH-1)'-Hourly.log'
这样的时间格式有可能吗

编辑:我没有访问C#代码的权限,但有一个exe.config,可以在其中更改代码

比如DateTime.ToString上的var(var)


我问得太多了吗?

从日期/时间中减去一个小时,并将其格式化。

你问题的答案是


格式字符串仅定义格式。它无法对其执行计算(为什么会?)

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

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


我认为这是在不访问原始代码的情况下所能做的最好的了。

String.Format(“TraceSink-{0}-Hourly.log”,someDateTime.AddHours(-1).ToString(“yyyy-MM-dd-HH”)
@ChaseFlorell:您可以在格式字符串中指定DateTime的格式-无需单独调用ToString。我只能访问ToString函数内部的变量。比如DateTime.ToString上的var(var)-也许我要求的太多了?你要求的东西你不能用forat弦做。可能是梦想太多了。谢谢你。