gpt4 book ai didi

java - Citrix Xenapp 6.5 下 Java 中的当前日期/时间

转载 作者:行者123 更新时间:2023-12-01 11:39:42 29 4
gpt4 key购买 nike

我们维护着一个旧版 Java 应用程序,该应用程序最近刚刚迁移到 XenApp 6.5 平台。

但是当我们显示当前时间时,它显示的是服务器时间,而不是用户在 Powered Shared Desktop 上的时间。

例如,用户位于时区偏移 9.5,但输出时区时显示为 10。

我们已经尝试过:

TimeZone.getDefault().getID());
System.getProperty("user.timezone"));

我们的时间是这样的:

private final static DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
private Calendar intCal;


intCal = Calendar.getInstance();
intCal.setTimeInMillis(System.currentTimeMillis());
String df = dateFormat.format(intCal.getTime());

有没有官方的方法来获取用户的时间?

同样使用 VBS,它输出相同的内容:

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colTimeZone = objWMIService.ExecQuery("Select * from Win32_TimeZone")

For Each objTimeZone in colTimeZone
Wscript.Echo "Offset: "& objTimeZone.Bias / 60
Next

最佳答案

您需要确保启用时区重定向,以便服务器 session 使用客户端设备的时区。在 XenApp 6.5 中,您必须在两个位置打开此功能:Citrix 特定的 XenApp 策略和 Windows RDS 策略。

以下文章展示了如何在生产环境中通过设置 GPO 来配置这两种策略设置:

http://support.citrix.com/article/CTX126099

但是,如果您只想在单个服务器上快速测试它,您可以在本地编辑所有内容。 IE。首先打开 Citrix AppCenter,然后:

  1. 选择策略节点
  2. 选择“用户”选项卡
  3. 选择默认的“未过滤”政策
  4. 点击“编辑”
  5. 在“编辑策略”对话框中选择“设置”选项卡
  6. 向下滚动到“时区控制”类别并选择它。
  7. 查找“使用客户端的本地时间”设置并点击“添加”。
  8. 在弹出的添加对话框中单击“确定”。
  9. 单击“编辑策略”对话框中的“确定”将其关闭。

与我链接的支持文章中的步骤 12 类似,运行 gpedit.msc:

  1. 选择节点:计算机配置\管理模板\Windows 组件\远程桌面服务\远程桌面 session 主机\设备和资源重定向
  2. 编辑“允许时区重定向”政策,将其设置为“启用”。

设置时区重定向后,您应该能够在您选择的任何开发语言中使用标准日期/时间 API。

关于java - Citrix Xenapp 6.5 下 Java 中的当前日期/时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29638378/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com