它是 java.util 包中 java.lang.Object 类的直接子类,有助于表示程序运行的特定区域的时区偏移量,或者定义为参数的时区,也有助于保存其他更改,例如夏令时;它实现了可序列化和可克隆的接口,使其兼容网络传输以及将一个时区对象的设置克隆到另一个时区对象中。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
该类使用以下 5 个参数来存储时区信息:
以下是此类中可用的方法:
1。 public Abstract int getOffset(intera,intyear,intmonth,intday,intdayOfWeek,intmilliseconds)
此方法有助于检索时区的偏移量(以毫秒为单位),该偏移量可以添加到 GMT 以获取参数中指定的特定日期的本地时间。这里月份参数中的 0 表示一月。
代码:
package Try; import java.util.TimeZone; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Africa/Bangui"); System.out.println("Offset value at 2020,5,6 date is = " + obj.getOffset(1, 2020, 2, 5, 6, 2000)); } }
输出:
2。 Abstract public void setRawOffset(int offsetMillis)
此方法用于将时区基准设置为 GMT,用于通过将本地时间添加到 UTC 来获取本地时间。
3。 public Abstract int getRawOffset()
它用于获取与夏令时无关的毫秒数,并添加到 UTC 以检索标准时区。
代码:
import java.util.TimeZone; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Pacific/Pago_Pago"); System.out.println("RawOffset in the start is = " + obj.getRawOffset()); obj.setRawOffset(7000000); System.out.println("RawOffset "+ "set to 7000000"); System.out.println("RawOffset after changes is = " + obj.getRawOffset());
}
}
输出:
4。 public boolean ObservesDaylightTime()
此方法用于检查时区当前是否处于夏令时,或者是否为将来的时间表更改安排了任何转换,并发送 true,在这种情况下发送 false。
代码:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Europe/Rome"); System.out.println(obj.getID()+" is in Daylight or will be in future transitions = " + obj.observesDaylightTime()); } }
输出:
5。 static String[] getAvailableIDs()
用于以字符串格式获取该时区下所有支持的可用ID的数组。
代码:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { String[] idArray= TimeZone.getAvailableIDs(); System.out.println("Available IDs are \n"); for(String a :idArray){ System.out.print(a); System.out.print("\n"); } } }
输出:
6。 public String getDisplayName(boolean daylight, int style, Locale locale)
该方法用于获取所使用的时区名称。如果 daylight 参数为 true,则返回夏令时时区;否则,返回标准时区。样式参数指定是否需要长名称或短名称并且在指定的区域设置中。如果给定的样式无效,则会抛出 IllegalArgumentException;如果未指定 locale 参数,则会抛出 NullPointerException。
7。 public static TimeZone getDefault()
此方法帮助我们检索特定区域的时区的默认值。
8。 public StringgetID()
用于检索该时区的ID。
示例程序解释以上三种方法:
代码:
import java.util.TimeZone; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj1 = TimeZone.getDefault(); System.out.println("Display Name of default Offset is = " + obj1.getDisplayName(false,0)); System.out.println("Id of Default Offset = " + obj1.getID()); } }
输出:
9。 public Abstract boolean inDaylightTime(Date date)
此方法用于查询参数中给出的特定日期是否处于该特定时区的夏令时,并返回 true,否则返回 false。
代码:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Europe/Rome"); Date dt = new Date(); System.out.println(dt.toString()+" is in Daylight Savings or not = " + obj.inDaylightTime(dt)); } }
输出:
10。公共抽象布尔值 useDaylightTime()
该方法用于验证给定时区是否支持夏令时时间表更改;如果是,则返回 true,否则返回 false。
代码:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Europe/Rome"); System.out.println(obj.getID()+" supports Daylight Savings or not = \n" + obj.useDaylightTime()); } }
输出:
11。公共布尔值具有 SameRules(TimeZone tz1)
此方法有助于分析调用的时区对象与传入其参数的时区对象是否具有相同的规则,并返回 true,否则返回 false。
Code:
import java.util.*; publicclass Office { publicstaticvoid main(String[] args) { TimeZone obj = TimeZone.getTimeZone("Africa/Bangui"); TimeZone obj1 = TimeZone.getTimeZone("Europe/Rome"); System.out.println(obj.getID() + " has Same Rules as of " +obj.getID() + " = " +obj.hasSameRules(obj)); System.out.println(obj.getID() + " has Same Rules as of " +obj1.getID() + " = " +obj.hasSameRules(obj)); } }
Output:
It is a serializable and cloneable class present in java.util package and is a direct sub class of java.lang.object class which helps to represent the time zone offset of a particular region in the 2 static final and int fields long and short and support various operations using the supported methods in them.
以上是爪哇时区的详细内容。更多信息请关注PHP中文网其他相关文章!