我在Win2003服务器上运行,TimeZone设置为(GMT -06:00)中部时间。我用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(山地标准时间)!! :(
答案 0 :(得分: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时间。
答案 1 :(得分:0)
什么是_request
?
在HttpContext
对象的内部,反射器显示以下代码:
public DateTime get_Timestamp()
{
return this._utcTimestamp.ToLocalTime();
}