我们维护了一个旧版 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