有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在linux操作系统中使用Java获取服务器时区信息

我们在MS SQL Server中使用了[GetServerTimeZoneInformation]定义的函数,该函数返回DaylightName或StandardName、ActiveTimeBias、Bias、DaylightBias、,IsDST它使用Windows注册表项来获取这些信息,但我必须在使用linux(CentOs)操作系统的地方编写代码,并且必须使用Java获取这些信息。可以提供这些值的Java API是什么


共 (1) 个答案

  1. # 1 楼答案

    通过TimeZone类,您可以访问所有或大部分这些数据,例如:

    TimeZone tz = TimeZone.getDefault();
    String daylightName = tz.getDisplayName(true, TimeZone.LONG);
    String standardName = tz.getDisplayName(false, TimeZone.LONG);
    int rawOffset = tz.getRawOffset();
    int daylightOffset = tz.getDSTSavings();
    boolean isInDSTNow = tz.inDaylightTime(new Date());
    

    但是请注意,Java使用自己的tzdb版本,而不是系统范围内安装的tzdb,因此Java报告的内容可能与您从本机操作系统工具获得的内容有所不同,尤其是对于最近更改的时区