DateTimeOffset每日增量数

考虑一下,我有一个在服务器场中执行的应用程序,其时区偏移量为-06:00。但是用户界面仅显示偏移+02:00的日期。我在C#中使用了DateTimeOffset,在SQL Server(DateTimeOffset(0))中使用了2017 (RTM-GDR) (KB4505224) - 14.0.2027.2 (X64)

请考虑您正在服务器上执行以下代码:

var now = DateTimeOffset.Now;
var start = new DateTimeOffset(now.Year,now.Month,now.Day,now.Offset); // Offset `-06:00`
var end = start.AddDays(1);

return await connection.ExecuteScalarAsync<int>(
    "SELECT IsnULL(MAX(IncrementalNumber) + 1,1) " +
    "FROM Forms.Trips " +
    "WHERE UserId = @userId " +
    "   AND CreationDate >= @start AND CreationDate < @end",new { userId,start,end });

该代码的目标是获取每个用户的每日增量编号。但是我发现了两个两者 IncrementalNumber都设置为1的奇怪记录:

2020-07-26 23:50:33 -06:00 -- (2020-07-27 07:50:33 +02:00 in the user interface offset)
2020-07-27 02:09:48 -06:00 -- (2020-07-27 10:09:48 +02:00 in the user interface offset)

问题在于,在用户界面中,我将每个服务器日期转换为表示层中的+02:00偏移,这些日期是指同一天(7月27日),因此我期望它们会是关联到另一个递增数字1和2。

这是我的表示层偏移量转换:

private static readonly TimeZoneInfo _italianTimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time");

public static DateTime ToItalianTimestamp(DateTimeOffset dateTimeOffset)
{
    var utc = dateTimeOffset.ToUniversalTime().DateTime;
    return TimeZoneInfo.ConvertTimeFromUtc(utc,_italianTimeZoneInfo);
}

我在哪里弄错了?如何生成每个用户的每日增量数字,该数字也将以+02:00偏移量每天

iCMS 回答:DateTimeOffset每日增量数

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1854161.html

大家都在问