C# 如何在系统中处理全局时区?

C# 如何在系统中处理全局时区?,c#,asp.net,wcf-ria-services,C#,Asp.net,Wcf Ria Services,我正在开发一个名为“活动”的模块,用户可以在任何国家进行任何活动,就像你们在Facebook或其他社交媒体网站上发表评论一样。每当评论发生时,所有用户都会看到刚才发生的评论 问题:我有以UTC时间格式存储数据的WCF API。可以通过IPad、IPhone和其他设备访问API。我必须在每日活动计数中给出回应。用户将处于不同的时区,因此不同时区的活动计数不同。与CST时间相同,CST时间偏移为-06:00,IST时间偏移为+05:300。如何根据不同的时区从服务器中查找计数。每当他们要求从服务器检

我正在开发一个名为“活动”的模块,用户可以在任何国家进行任何活动,就像你们在Facebook或其他社交媒体网站上发表评论一样。每当评论发生时,所有用户都会看到刚才发生的评论

问题:我有以UTC时间格式存储数据的WCF API。可以通过IPad、IPhone和其他设备访问API。我必须在每日活动计数中给出回应。用户将处于不同的时区,因此不同时区的活动计数不同。与CST时间相同,CST时间偏移为-06:00,IST时间偏移为+05:300。如何根据不同的时区从服务器中查找计数。每当他们要求从服务器检索数据时,他们不指定任何时区。如何处理这种情况

使用datetimeOffset有什么不同吗。datetimeOffset可以解析为JSON吗

谢谢 希拉格

  • 您可以在服务器上将UTC时间转换为本地时间。这要求客户端在请求中包含其本地时区。这将允许服务器发回位于客户端本地时区的时间戳

    DateTimeOffset
    类在服务器端提供帮助。
    DateTime
    类只能表示UTC和服务器本地时间中的“本地”时间
    DateTimeOffset
    允许您使用任何偏移量表示时间,但时区是信息的一部分。时区定义了夏令时之类的规则,夏令时不是存储在
    DateTimeOffset
    中的信息的一部分

  • 或者,您可以在客户端上将UTC时间转换为本地时间。服务器响应中的时间戳始终以UTC为单位,但客户端知道自己的时区,并在显示时间戳之前执行转换

  • 在大多数情况下,我认为2。是最简单的解决方案,但这要求客户机具有关于时区的信息,并且该信息相当复杂

  • 您可以在服务器上将UTC时间转换为本地时间。这要求客户端在请求中包含其本地时区。这将允许服务器发回位于客户端本地时区的时间戳

    DateTimeOffset
    类在服务器端提供帮助。
    DateTime
    类只能表示UTC和服务器本地时间中的“本地”时间
    DateTimeOffset
    允许您使用任何偏移量表示时间,但时区是信息的一部分。时区定义了夏令时之类的规则,夏令时不是存储在
    DateTimeOffset
    中的信息的一部分

  • 或者,您可以在客户端上将UTC时间转换为本地时间。服务器响应中的时间戳始终以UTC为单位,但客户端知道自己的时区,并在显示时间戳之前执行转换


  • 在大多数情况下,我认为2。是最简单的解决方案,但这要求客户机具有有关时区的信息,而且这些信息非常复杂。

    我在系统中使用ISO 8601来节省时间。 在那里你将有时区信息包括在内

    在.net中,它是“o”或“o”。


    还支持DateTimeOffset。

    我在系统中使用ISO 8601来节省时间。 在那里你将有时区信息包括在内

    在.net中,它是“o”或“o”。

    还支持DateTimeOffset