]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-52_1/samples/src/com/ibm/icu/samples/text/dateintervalformat/DateIntervalFormatSample.java
Clean up imports.
[Dictionary.git] / jars / icu4j-52_1 / samples / src / com / ibm / icu / samples / text / dateintervalformat / DateIntervalFormatSample.java
1 /*
2  *******************************************************************************
3  * Copyright (C) 2013, International Business Machines Corporation and         *
4  * others. All Rights Reserved.                                                *
5  *******************************************************************************
6  */
7 package com.ibm.icu.samples.text.dateintervalformat;
8
9
10 // ---dtitvfmtPreDefinedExample 
11 import java.util.Date;
12
13 import com.ibm.icu.text.DateFormat;
14 import com.ibm.icu.text.DateIntervalFormat;
15 import com.ibm.icu.text.DateIntervalInfo;
16 import com.ibm.icu.util.Calendar;
17 import com.ibm.icu.util.DateInterval;
18 import com.ibm.icu.util.GregorianCalendar;
19 import com.ibm.icu.util.ULocale;
20 // ---dtitvfmtPreDefinedExample
21 public class DateIntervalFormatSample{
22
23     public static void main (String[] args){
24
25         dtitvfmtPreDefined();
26         dtitvfmtCustomized();
27
28     }
29
30     public static void dtitvfmtPreDefined()
31     {
32         System.out.println("==============================================================================");
33         System.out.println(" dtitvfmtPreDefined()");
34         System.out.println();
35         System.out.println(" Use DateIntervalFormat to get Date interval format for pre-defined skeletons:");
36         System.out.println(" yMMMd, MMMd per locale");
37         System.out.println("==============================================================================");
38         // ---dtitvfmtPreDefinedExample  
39         final Date date[] = {
40                 new GregorianCalendar(2007,10,10,10,10,10).getTime(),
41                 new GregorianCalendar(2008,10,10,10,10,10).getTime(),
42                 new GregorianCalendar(2008,11,10,10,10,10).getTime(),
43                 new GregorianCalendar(2008,11,10,15,10,10).getTime(),
44         };
45         final DateInterval dtitv[] = {
46                 new DateInterval(date[0].getTime(),date[1].getTime()),
47                 new DateInterval(date[1].getTime(),date[2].getTime()),
48                 new DateInterval(date[2].getTime(),date[3].getTime()),
49         };
50         final String [] skeletons = {
51                 DateFormat.YEAR_ABBR_MONTH_DAY,
52                 DateFormat.MONTH_DAY,
53                 DateFormat.HOUR_MINUTE,
54                 };
55         System.out.printf("%-15s%-35s%-35s%-35s%-35s\n", "Skeleton", "from","to","Date Interval in en_US", "Date Interval in Ja");
56         int i=0;
57         for (String skeleton:skeletons) {
58         System.out.printf("%-15s%-35s%-35s", skeleton,date[i].toString(), date[i+1].toString());
59                 DateIntervalFormat dtitvfmtEn = DateIntervalFormat.getInstance(skeleton, ULocale.ENGLISH);
60                 DateIntervalFormat dtitvfmtJa = DateIntervalFormat.getInstance(skeleton, ULocale.JAPANESE);
61                 System.out.printf("%-35s%-35s\n", dtitvfmtEn.format(dtitv[i]),dtitvfmtJa.format(dtitv[i]));
62                 i++;
63         }
64         /** output of the sample code:
65          *********************************************************************************************************************************************************
66          Skeleton       from                               to                                 Date Interval in en_US             Date Interval in Ja
67          yMMMd          Sat Nov 10 10:10:10 EST 2007       Mon Nov 10 10:10:10 EST 2008       Nov 10, 2007 – Nov 10, 2008        2007年11月10日~2008年11月10日 
68          MMMMd          Mon Nov 10 10:10:10 EST 2008       Wed Dec 10 10:10:10 EST 2008       November 10 – December 10          11月10日~12月10日 
69          jm             Wed Dec 10 10:10:10 EST 2008       Wed Dec 10 15:10:10 EST 2008       10:10 AM – 3:10 PM                 10:10~15:10
70
71          *********************************************************************************************************************************************************/
72         // ---dtitvfmtPreDefinedExample
73 }
74     public static void dtitvfmtCustomized()
75     {
76         System.out.println("================================================================================");
77         System.out.println(" dtitvfmtCustomized()");
78         System.out.println();
79         System.out.println(" Use DateIntervalFormat to create customized date interval format for yMMMd, Hm");
80         System.out.println("================================================================================");
81         // ---dtitvfmtCustomizedExample 
82         final Date date[] = {
83                 new GregorianCalendar(2007,9,10,10,10,10).getTime(),
84                 new GregorianCalendar(2007,10,10,10,10,10).getTime(),
85                 new GregorianCalendar(2007,10,10,22,10,10).getTime(),
86         };
87         final DateInterval dtitv[] = {
88                 new DateInterval(date[0].getTime(),date[1].getTime()),
89                 new DateInterval(date[1].getTime(),date[2].getTime()),
90         };
91         final String [] skeletons = {
92                 DateFormat.YEAR_ABBR_MONTH_DAY,
93                 DateFormat.HOUR24_MINUTE,
94                 };
95         System.out.printf("%-15s%-35s%-35s%-45s%-35s\n", "Skeleton", "from","to", "Date Interval in en_US", "Date Interval in Ja");
96         // Create an empty DateIntervalInfo object
97         DateIntervalInfo dtitvinf = new DateIntervalInfo(ULocale.ENGLISH);
98         // Set Date Time internal pattern for MONTH, DAY_OF_MONTH, HOUR_OF_DAY
99         dtitvinf.setIntervalPattern("yMMMd", Calendar.MONTH, "y 'Diff' MMM d --- MMM d");
100         dtitvinf.setIntervalPattern("Hm", Calendar.HOUR_OF_DAY, "yyyy MMM d HH:mm ~ HH:mm");
101         // Set fallback interval pattern
102         dtitvinf.setFallbackIntervalPattern("{0} ~~~ {1}");
103         // Get the DateIntervalFormat with the custom pattern
104         for (String skeleton:skeletons){
105             for (int i=0;i<2;i++) {
106             System.out.printf("%-15s%-35s%-35s", skeleton,date[i].toString(), date[i+1].toString());
107             DateIntervalFormat dtitvfmtEn = DateIntervalFormat.getInstance(skeleton,ULocale.ENGLISH,dtitvinf);
108             DateIntervalFormat dtitvfmtJa = DateIntervalFormat.getInstance(skeleton,ULocale.JAPANESE,dtitvinf);
109             System.out.printf("%-45s%-35s\n", dtitvfmtEn.format(dtitv[i]),dtitvfmtJa.format(dtitv[i]));
110             }
111        }
112         /** output of the sample code:
113          *************************************************************************************************************************************************************************
114           Skeleton       from                               to                                 Date Interval in en_US                       Date Interval in Ja
115           yMMMd          Wed Oct 10 10:10:10 EDT 2007       Sat Nov 10 10:10:10 EST 2007       2007 Diff Oct 10 --- Nov 10                  2007 Diff 10月 10 --- 11月 10
116           yMMMd          Sat Nov 10 10:10:10 EST 2007       Sat Nov 10 22:10:10 EST 2007       Nov 10, 2007                                 2007年11月10日
117           Hm             Wed Oct 10 10:10:10 EDT 2007       Sat Nov 10 10:10:10 EST 2007       10/10/2007, 10:10 ~~~ 11/10/2007, 10:10      2007/10/10 10:10 ~~~ 2007/11/10 10:10
118           Hm             Sat Nov 10 10:10:10 EST 2007       Sat Nov 10 22:10:10 EST 2007       2007 Nov 10 10:10 ~ 22:10                    2007 11月 10 10:10 ~ 22:10
119          *************************************************************************************************************************************************************************/
120       // ---dtitvfmtCustomizedExample
121
122     }
123 }
124