【发布时间】:2011-09-16 00:04:32
【问题描述】:
我不是 C# 内部的专家,所以这个问题实际上可能非常愚蠢。如果是这样,请纠正我。我有一些从 SQL 服务器中取出的数据(UTC 格式)。
2011-03-26 11:03:58.000
2011-03-26 11:04:25.000
...
我在 C# 中解析这个文件并使用以下内容:
DateTime date = DateTime.Parse(value);
将值提取到DateTimeobject 中。现在,我从这个时间中减去一些任意时间 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 日期。
【问题讨论】:
-
只是一个不相关的小提示:您可以使用
TimeSpan.FromHours(8)使代码更具可读性。还有FromSeconds、FromMinutes等 -
嗯?我没有看到你的问题。
-
@SLaks:我尝试添加一个更简洁的问题。
标签: c# sql-server datetime date