我想在UTC 中获得特定时区的午夜时间。例如,考虑我的本地机器时区是+05:30。请看下面的截图。我使用https://www.epochconverter.com/站点进行转换。
在上面的示例中,我在+05:30输入午夜时间,并为其提供 UTCtime。
注意:我正在将我的机器时区重置为 (UTC) 协调世界时。
所以在这里我想找到的是 UTC 日期时间。为此,我存储了用户时区信息。我使用以下代码获取时区信息。
TimeZoneInfo userTz = TimeZoneInfo.FindSystemTimeZoneById(LoginSessionDO.TimeZoneId);
Run Code Online (Sandbox Code Playgroud)
所以,我想在UTC 中找到任何时区的午夜时间。我怎样才能在 c# 中做到这一点?
例如 +05:30 - 2018-07-07 00:00:00 UTC-2018-07-06 18:30:00
对不起,不清楚的问题。我将解释我的场景。
编辑:-
我在Sql server包含dateofactivity列的表中存储了一些用户的活动数据。所有记录日期时间以 UTC 格式存储。所以在前端,我想从午夜(开始时)获取用户今天的所有活动记录。如果用户在+05:30时区并且他想获取2018 年 7 月 7 日 00:00:00 的所有记录,那么我需要通过2018 年 7 月 6 日 18:30:00。现在假设另一个用户在欧洲/阿姆斯特丹(CEST)GMT +02: 00所以想在UTC中找到欧洲/阿姆斯特丹的午夜时间。
我有一个代码,我需要在其中找到中欧时区与 UTC 的当前偏移量。
我的代码部署在 azure 应用服务中。
var offset = DateTimeOffset.Now.Offset.Hours + ":" +
DateTimeOffset.Now.Offset.Minutes;
Run Code Online (Sandbox Code Playgroud)
上面代码的问题是,它依赖于服务器时间,即使我的应用服务在西欧,Azure 应用服务的时区始终是 UTC 。
一种解决方案是将 Azure App Service TimeZone 更改为 Desired TimeZone 并且它会起作用,但我也在考虑使用代码获取偏移量。
请记住,我不能使用系统日期时间来获取偏移量,因为它始终是 UTC。
无论系统日期时间如何,我都可以获得 Current Central Europe DatetimeOffset 吗?