首页 >后端开发 >C++ >如何使用C#创建特定时区的DateTime对象?

如何使用C#创建特定时区的DateTime对象?

Barbara Streisand
Barbara Streisand原创
2025-01-26 04:21:11459浏览

How Can I Create DateTime Objects in Specific Time Zones Using C#?

>使用dateTime对象和c#

中的时区 在开发涉及不同地区的日期和时间的应用程序时,准确的时区处理至关重要。 C#中的标准结构为本地,UTC和未指定的特定时区提供了有限的内置支持。 为了解决这个问题,利用

提供了一个更强大的解决方案。DateTime TimeZoneInfo此示例演示了一个自定义

struct,以在指定时区域内管理DateTime对象:

DateTimeWithZone

该结构将日期和时间存储在内部。 它提供了访问UTC时间,关联
<code class="language-csharp">public struct DateTimeWithZone
{
    private readonly DateTime utcDateTime;
    private readonly TimeZoneInfo timeZoneInfo;

    public DateTimeWithZone(DateTime dateTime, TimeZoneInfo timeZone)
    {
        var dateTimeUnspecified = DateTime.SpecifyKind(dateTime, DateTimeKind.Unspecified);
        utcDateTime = TimeZoneInfo.ConvertTimeToUtc(dateTimeUnspecified, timeZone);
        timeZoneInfo = timeZone;
    }

    public DateTime UtcTime { get { return utcDateTime; } }

    public TimeZoneInfo TimeZoneInfo { get { return timeZoneInfo; } }

    public DateTime LocalTime
    {
        get { return TimeZoneInfo.ConvertTime(utcDateTime, timeZoneInfo); }
    }
}</code>
和指定区域中的本地时间的属性。 请注意,使用

而不是较旧的DateTime类,以提高准确性和处理日光节省时间。TimeZoneInfo TimeZoneInfo通过使用此TimeZone> struct,开发人员可以创建代表特定时区(例如PST)进行测试或数据处理的对象,从而确保不论系统的本地时区是否一致。 这种方法对于需要精确时区意识的应用至关重要。

以上是如何使用C#创建特定时区的DateTime对象?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn