当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。