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


Java DateFormat setCalendar()用法及代码示例


Java中的DateFormat类的setCalendar()方法用于设置与此日期/时间格式对象关联的日历。在初始阶段,将使用日历的默认设置以及默认语言环境。

用法:

public void setCalendar(Calendar new_calendar)



参数:该方法采用Calendar类型的一个参数new_calendar,表示要替换原始DateFormat对象的新Calendar。

返回值:该方法不返回任何值。

以下程序说明了Java中setCalendar()方法的用法:
示例1:

// Java code to illustrate 
// setCalendar() method 
  
import java.text.*; 
import java.util.*; 
  
public class DateFormat_Demo { 
    public static void main(String[] argv) 
    { 
        // Initializing the first formatter 
        DateFormat DFormat 
            = DateFormat.getDateTimeInstance(); 
  
        // String formatting 
        String str = DFormat.format(new Date()); 
  
        // Displaying the Calendar 
        System.out.println("Original Calendar: "
                           + DFormat.getCalendar()); 
  
        // Creating a calendar 
        Calendar calndr = Calendar.getInstance(); 
  
        // Replacing with a new value 
        calndr.set(Calendar.MONTH, 11); 
  
        // Setting new Calendar 
        DFormat.setCalendar(calndr); 
  
        System.out.println(); 
  
        // Displaying the newCalendar 
        System.out.println("New Calendar: "
                           + DFormat.getCalendar()); 
    } 
}
输出:
Original Calendar: java.util.GregorianCalendar[time=1553847137520, areFieldsSet=true,
areAllFieldsSet=true, lenient=true, zone=sun.util.calendar.ZoneInfo[id="Etc/UTC",
offset=0, dstSavings=0, useDaylight=false, transitions=0, lastRule=null], firstDayOfWeek=1,
minimalDaysInFirstWeek=1, ERA=1, YEAR=2019, MONTH=2, WEEK_OF_YEAR=13, WEEK_OF_MONTH=5,
DAY_OF_MONTH=29, DAY_OF_YEAR=88, DAY_OF_WEEK=6, DAY_OF_WEEK_IN_MONTH=5, AM_PM=0, HOUR=8,
HOUR_OF_DAY=8, MINUTE=12, SECOND=17, MILLISECOND=520, ZONE_OFFSET=0, DST_OFFSET=0]

New Calendar: java.util.GregorianCalendar[time=?, areFieldsSet=false, areAllFieldsSet=true,
lenient=true, zone=sun.util.calendar.ZoneInfo[id="Etc/UTC", offset=0, dstSavings=0,
useDaylight=false, transitions=0, lastRule=null], firstDayOfWeek=1, minimalDaysInFirstWeek=1,
ERA=1, YEAR=2019, MONTH=11, WEEK_OF_YEAR=13, WEEK_OF_MONTH=5, DAY_OF_MONTH=29, DAY_OF_YEAR=88,
DAY_OF_WEEK=6, DAY_OF_WEEK_IN_MONTH=5, AM_PM=0, HOUR=8, HOUR_OF_DAY=8, MINUTE=12, SECOND=17,
MILLISECOND=521, ZONE_OFFSET=0, DST_OFFSET=0]

示例2:

// Java code to illustrate 
// setCalendar() method 
  
import java.text.*; 
import java.util.*; 
  
public class DateFormat_Demo { 
    public static void main(String[] argv) 
    { 
        // Initializing the first formatter 
        DateFormat DFormat 
            = DateFormat.getDateInstance(); 
  
        // String formatting 
        String str = DFormat.format(new Date()); 
  
        // Displaying the Calendar 
        System.out.println("Original Calendar: "
                           + DFormat.getCalendar()); 
  
        // Creating a calendar 
        Calendar calndr = Calendar.getInstance(); 
  
        // Replacing with a new value 
        calndr.set(Calendar.YEAR, 1996); 
  
        // Setting new Calendar 
        DFormat.setCalendar(calndr); 
        System.out.println(); 
        // Displaying the newCalendar 
        System.out.println("New Calendar: "
                           + DFormat.getCalendar()); 
    } 
}
输出:
Original Calendar: java.util.GregorianCalendar[time=1553847144311, areFieldsSet=true,
areAllFieldsSet=true, lenient=true, zone=sun.util.calendar.ZoneInfo[id="Etc/UTC",
offset=0, dstSavings=0, useDaylight=false, transitions=0, lastRule=null], firstDayOfWeek=1,
minimalDaysInFirstWeek=1, ERA=1, YEAR=2019, MONTH=2, WEEK_OF_YEAR=13, WEEK_OF_MONTH=5,
DAY_OF_MONTH=29, DAY_OF_YEAR=88, DAY_OF_WEEK=6, DAY_OF_WEEK_IN_MONTH=5, AM_PM=0, HOUR=8,
HOUR_OF_DAY=8, MINUTE=12, SECOND=24, MILLISECOND=311, ZONE_OFFSET=0, DST_OFFSET=0]

New Calendar: java.util.GregorianCalendar[time=?, areFieldsSet=false, areAllFieldsSet=true,
lenient=true, zone=sun.util.calendar.ZoneInfo[id="Etc/UTC", offset=0, dstSavings=0,
useDaylight=false, transitions=0, lastRule=null], firstDayOfWeek=1, minimalDaysInFirstWeek=1,
ERA=1, YEAR=1996, MONTH=2, WEEK_OF_YEAR=13, WEEK_OF_MONTH=5, DAY_OF_MONTH=29, DAY_OF_YEAR=88,
DAY_OF_WEEK=6, DAY_OF_WEEK_IN_MONTH=5, AM_PM=0, HOUR=8, HOUR_OF_DAY=8, MINUTE=12, SECOND=24,
MILLISECOND=318, ZONE_OFFSET=0, DST_OFFSET=0]

参考: https://docs.oracle.com/javase/7/docs/api/java/text/DateFormat.html#setCalendar(java.util.Calendar)



相关用法


注:本文由纯净天空筛选整理自Chinmoy Lenka大神的英文原创作品 DateFormat setCalendar() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。