use*_*331 1 c# asp.net datetime
我这个约会在这里:
DateTime RelevantDate = new DateTime(2017, 11, 13, 16, 0, 0, 0);
request.RelevantDate = Convert.ToDateTime(RelevantDate.ToString("o"));
Run Code Online (Sandbox Code Playgroud)
我期待着:
2017-11-13T16:00:00-05:00
相反,我得到:
2017-11-13T16:00:00
这真的需要采用以下格式:2017-11-13T16:00:00-05:00,我该怎么做?request.RelevantDate期待DateTime
如果我这样做:
request.RelevantDate = Convert.ToDateTime(DateTime.Now.ToString("o"));
Run Code Online (Sandbox Code Playgroud)
它给了我正确的格式:
2017-11-08T06:43:39-05:00
如果DateTime
使用此构造函数创建其Kind
属性Unspecified
,即它既不是本地也不是UTC.
DateTime.Now
返回一个对象DateTimeKind.Local
,这就是将时区添加到输出的原因.ToString("o")
.
你可以使用另一个构造函数,你可以明确地设置类型Local
,例如new DateTime(2017, 11, 13, 16, 0, 0, 0, DateTimeKind.Local)
.
这样,时区将出现在输出中.ToString("o")
.