0

我在 Win2003 服务器上运行,TimeZone 设置为 (GMT -06:00) Central Time。我正在使用 VS.NET 2005,f/x 2.x 进行编程。当我执行以下代码时,我没有得到预期的结果——但只有当它在 PROD 服务器上时。任何其他机器似乎都可以正常工作。

_response.Timestamp = DateTime.Now;

是否有隐藏的设置可以对 .NET Web 应用程序执行此操作?我查看了所有我能找到的配置,但没有看到任何东西。


注意:这发生在我们所有的服务器上......


注意:我尝试使用传入我的页面的日期:

[parameter 3] (Date): Thu Nov 05 22:23:16 MST 2009  // Web client time
LastPlayed (Date): Fri Nov 06 05:23:16 MST 2009  // Simple boxing of value

public class FlashObject
{
    #region Declarations
    public DateTime LastPlayed;
    public List<PlayList> Characters;
    public List<PlayList> Variations;
    #endregion
}

上面的对象只是像这样水合:

internal static void GetPlayer(FlashObject flashObject, DateTime clientPlayTime)

请注意,它们都在 MST(山地标准时间)!!:(

4

2 回答 2

1

经过大量研究后,我将 DateTime 变量更改为 DateTimeOffset 变量。我还更改了 Flash/Flex 代码以传入 TZ 名称和偏移量。有了这些信息,我可以准确地跟踪客户时间。

private void SetUserInfo(DateTimeOffset ClientTime, int Offset)
{
    if (Offset != 0 && ClientTime.DateTime == ClientTime.UtcDateTime)
    {
        ClientTime = ClientTime.AddHours(Offset);
        _actionDateTime = new DateTimeOffset(ClientTime.DateTime, new TimeSpan(Offset, 0, 0));
    }
    else
        _actionDateTime = ClientTime;

    _actionUtcDateTime = new DateTimeOffset(_actionDateTime.DateTime.ToUniversalTime(), new TimeSpan(0, 0, 0));
}

使用上面的代码,我现在可以节省客户端时间和 UTC 时间。

于 2009-11-12T17:42:08.993 回答
0

什么是_request

HttpContext对象内部,反射器显示以下代码:

public DateTime get_Timestamp()
{
    return this._utcTimestamp.ToLocalTime();
}
于 2009-11-06T16:33:10.600 回答