當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Java SimpleTimeZone setStartRule()用法及代碼示例

SimpleTimeZone類setStartRule()方法

用法:

    public void setStartRule(int st_mm, int st_dd, int st_time);
    public void setStartRule(int st_mm, int st_dd, int st_dow, int st_time);
    public void setStartRule(int st_mm, int st_dd,int st_dow, int st_time, boolean status);
  • setStartRule() 方法可在java.util包。
  • setStartRule(int st_mm, int st_dd, int st_time) 方法用於將 DST(夏令時)的開始規則設置為一個月中給定的固定日期(dd)。
  • setStartRule(int st_mm, int st_dd,int st_dow, int st_time) 方法用於設置DST(Daylight Savings Time)的開始規則。
  • setStartRule(int st_mm, int st_dd, int st_dow, int st_time, boolean status) 方法用於將 DST(Daylight Savings Time) 的開始規則設置為較早的工作日 (dow) 或一個月中的給定日期 (dd) 之後。
  • 這些方法在設置啟動規則時可能會拋出異常。
    IllegalArgumentException:當任何一個參數不在範圍內時,可能會拋出此異常。
  • 這些是非靜態方法,隻能通過類對象訪問,如果我們嘗試使用類名訪問這些方法,則會出現錯誤。

參數:

  • 在第一種情況下, setStartRule(int st_mm, int st_dd, int st_time)
    • int st_mm- 代表 DST 開始月份。
    • int st_dd- 表示每月的 DST 起始日。
    • int st_time- 表示 DST 開始時間。
  • 第二種情況,setStartRule(int st_mm, int st_dd, int st_dow, int st_time),
    • int st_mm- 代表 DST 開始月份。
    • int st_dd- 表示每月的 DST 起始日。
    • int st_dow- 表示 DST 開始日期。
    • int st_time- 表示 DST 開始時間。
  • 在第二種情況下,setStartRule(int st_mm, int st_dd,int st_dow, int st_time, boolean status),
    • int st_mm- 代表 DST 開始月份。
    • int st_dd- 表示每月的 DST 起始日。
    • int st_dow- 表示 DST 開始日期。
    • int st_time- 表示 DST 開始時間。
    • boolean status- 設置為 true 則此規則選擇 st_dd 上或之後的第一個 st_dow 否則此規則選擇 st_dd 上或之前的最後一個 st_dow。

返回值:

在所有情況下,方法的返回類型是void- 它什麽都不返回。

例:

// Java program to demonstrate the example 
// of setStartRule() method of SimpleTimeZone

import java.util.*;

public class SetStartRuleOfSimpleTimeZone {
    public static void main(String args[]) {
        // Instantiates SimpleTimeZone object
        SimpleTimeZone s_tz1 = new SimpleTimeZone(360, "FRANCE");
        SimpleTimeZone s_tz2 = new SimpleTimeZone(760, "JAPAN");
        SimpleTimeZone s_tz3 = new SimpleTimeZone(39800000, "US",
            Calendar.APRIL, 6, -Calendar.MONDAY, 7200000, Calendar.OCTOBER, -1,
            Calendar.MONDAY, 7200000, 3600000);

        // By using setStartRule(yy,mm,dd) method is used to
        // set the DST start rule to a constant date
        s_tz1.setStartRule(Calendar.JUNE, Calendar.MONDAY, 3800000);

        // By using setStartRule(yy,mm,dow,dd) method is used to
        // set the DST start rule to a weekday before
        // or after the given date
        s_tz2.setStartRule(Calendar.JUNE, Calendar.MONDAY, 2, 3800000, false);


        // By using setStartRule(yy,mm,dow,dd,boolean) method is used to
        // set the DST start rule 
        s_tz3.setStartRule(Calendar.JUNE, Calendar.MONDAY, 2, 3800000);

        // Display SimpleTimeZone
        System.out.print("s_tz1.setStartRule(Calendar.JUNE, Calendar.MONDAY,3800000):");
        System.out.println(s_tz1);

        System.out.print("s_tz2.setStartRule(Calendar.JUNE, Calendar.MONDAY,3800000,false):");
        System.out.println(s_tz1);

        System.out.print("s_tz3.setStartRule(Calendar.JUNE, Calendar.MONDAY,2,3800000):");
        System.out.println(s_tz1);
    }
}

輸出

s_tz1.setStartRule(Calendar.JUNE, Calendar.MONDAY,3800000):java.util.SimpleTimeZone[id=FRANCE,offset=360,dstSavings=3600000,useDaylight=false,startYear=0,startMode=1,startMonth=5,startDay=2,startDayOfWeek=0,startTime=3800000,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0]
s_tz2.setStartRule(Calendar.JUNE, Calendar.MONDAY,3800000,false):java.util.SimpleTimeZone[id=FRANCE,offset=360,dstSavings=3600000,useDaylight=false,startYear=0,startMode=1,startMonth=5,startDay=2,startDayOfWeek=0,startTime=3800000,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0]
s_tz3.setStartRule(Calendar.JUNE, Calendar.MONDAY,2,3800000):java.util.SimpleTimeZone[id=FRANCE,offset=360,dstSavings=3600000,useDaylight=false,startYear=0,startMode=1,startMonth=5,startDay=2,startDayOfWeek=0,startTime=3800000,startTimeMode=0,endMode=0,endMonth=0,endDay=0,endDayOfWeek=0,endTime=0,endTimeMode=0]


相關用法


注:本文由純淨天空篩選整理自Preeti Jain大神的英文原創作品 Java SimpleTimeZone setStartRule() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。