gpt4 book ai didi

c# - DateTimeOffset 正确使用

转载 作者:行者123 更新时间:2023-11-30 19:30:16 25 4
gpt4 key购买 nike

如果我有一个表示有效 UTC 时间的 DateTime 实例,以及一个将 DateTime 转换为它适用的时区的偏移量,我该如何构造一个 DateTimeOffset 实例来表示它?

var utcDateTime = new DateTime(2011, 02, 29, 12, 43, 0, /*DateTimeKind.Utc*/);
var localOffset = TimeSpan.FromHours(2.0);

var dto = ...

// Here the properties should be as follows;
// dto.UtcDateTime = 2011-02-29 12:43:00
// dto.LocalDateTime = 2011-02-29 14:43:00

也许我没有正确理解 DateTimeOffset 结构,但我无法获得预期的输出。

提前致谢

最佳答案

看起来像你想要的:

var utcDateTime = new DateTime(2012, 02, 29, 12, 43, 0, DateTimeKind.Utc);
var dto = new DateTimeOffset(utcDateTime).ToOffset(TimeSpan.FromHours(2));

请注意,我将年份从 2011 年(不是闰年,二月没有 29 天)更改为 2012 年。

测试:

Console.WriteLine("Utc = {0}, Original = {1}", dto.UtcDateTime, dto.DateTime);

输出:

Utc = 2/29/2012 12:43:00 PM, Original = 2/29/2012 2:43:00 PM

请注意,您可能需要 LocalDateTime 属性,它可能代表本地系统时区的即时时间。

关于c# - DateTimeOffset 正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com