【发布时间】:2017-01-20 23:43:20
【问题描述】:
我正在尝试使用 Offset 更改字符串 DateTime 值。这是我尝试过的过程,但最后, datetime 和 datetime1 都打印了它们的初始值。我想要的输出是将 datetime1 格式化为正确的 Offset 以便它反映 datetime
2016 年 1 月 10 日下午 5:18
01/10/2016 5:18 PM-05:00
string datetime = "2017-01-10T17:18:00-05:00";
string datetime1 = "1/10/2016 3:18:00 PM";
DateTimeOffset dateTimeOffset = DateTimeOffset.Parse(datetime);
TimeSpan tspan = dateTimeOffset.Offset;
DateTimeOffset alteredDate = new DateTimeOffset(Convert.ToDateTime(datetime1)).ToOffset(tspan);
UAB = Convert.ToString(DateTimeOffset.Parse(alteredDate.ToString()));
Console.WriteLine(datetime);
Console.WriteLine(UAB);
Console.ReadLine();
编辑
在单步执行我的代码时,我注意到tpsan 的值是-05:00,- 符号可能是导致代码无法正确转换的原因吗?
【问题讨论】:
-
你知道,日期是完全可用的结构。无需将它们存储为字符串,
DateTime.ToString();将随时以您想要的任何格式显示。 -
@Plutonix - 我同意你的看法,日期在我收到的文件中作为刺痛收到
标签: c# datetime timezone utc timezone-offset