Clover coverage report - brownies library - 1.0-beta-1 Coverage timestamp: 月 8 16 2004 17:14:42 GMT+09:00 FRAMES NO FRAMES |
file stats: | LOC: | 233 |  | Methods: | 18
| NCLOC: | 89 |  | Classes: | 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
Source file | Conditionals | Statements | Methods | TOTAL
DateUtils.java | - | 29.3% | 27.8% | 28.8% |

1 |  |
     /*
2 |  |
      * Joey and its relative products are published under the terms
3 |  |
      * of the Apache Software License.
4 |  |
      */
5 |  |
     package org.asyrinx.brownie.core.util;
6 |  |
7 |  |
     import java.util.Calendar;
8 |  |
     import java.util.Date;
9 |  |
     import java.util.GregorianCalendar;
10 |  |
11 |  |
     /**
12 |  |
      * @author akima
13 |  |
      */
14 |  |
     public final class DateUtils {
15 |  |
16 | 0 |
         public static Date toDateTime(int year, int month, int day, int hours,
17 |  |
                 int minuites, int seconds, int milliseconds) {
18 | 0 |
             final Calendar cal = Calendar.getInstance();
19 | 0 |
             cal.set(year, month, day, hours, minuites, seconds);
20 | 0 |
             cal.set(Calendar.MILLISECOND, milliseconds);
21 | 0 |
             return new Date(cal.getTime().getTime());
22 |  |
         }
23 |  |
24 | 0 |
         public static Date adjustDateTime(Date d, int hours, int minuites,
25 |  |
                 int seconds, int miliseconds) {
26 | 0 |
             final Calendar cal = Calendar.getInstance();
27 | 0 |
             cal.setTime(d);
28 | 0 |
             return toDateTime(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal
29 |  |
                     .get(Calendar.DAY_OF_MONTH), hours, minuites, seconds,
30 |  |
                     miliseconds);
31 |  |
         }
32 |  |
33 | 0 |
         public static Date adjustDateBegin(Date d) {
34 | 0 |
             return adjustDateTime(d, 0, 0, 0, 0);
35 |  |
         }
36 |  |
37 | 0 |
         public static Date adjustDateEnd(Date d) {
38 | 0 |
             return adjustDateTime(d, 23, 59, 59, 999);
39 |  |
         }
40 |  |
41 | 0 |
         public static int get(Date d, int calendarField) {
42 | 0 |
             final Calendar cal = Calendar.getInstance();
43 | 0 |
             cal.setTime(d);
44 | 0 |
             return cal.get(calendarField);
45 |  |
         }
46 |  |
47 | 0 |
         public static int getYear(Date d) {
48 | 0 |
             return get(d, Calendar.YEAR);
49 |  |
         }
50 |  |
51 | 0 |
         public static int getMonth(Date d) {
52 | 0 |
             return get(d, Calendar.MONTH);
53 |  |
         }
54 |  |
55 | 0 |
         public static int getDay(Date d) {
56 | 0 |
             return get(d, Calendar.DAY_OF_MONTH);
57 |  |
         }
58 |  |
59 |  |
         /**
60 |  |
          * 指定された年月日からDateオブジェクトを生成します。 <br>
61 |  |
          * 月は1オリジンです。 <br>
62 |  |
          *
63 |  |
          * @param year
64 |  |
          *            年
65 |  |
          * @param month
66 |  |
          *            月(1-12)
67 |  |
          * @param day
68 |  |
          *            日
69 |  |
          * @return
70 |  |
          */
71 | 1 |
         public static Date toDate(int year, int month, int day) {
72 | 1 |
             return toDate(year, month, day, 0, 0);
73 |  |
         }
74 |  |
75 |  |
         /**
76 |  |
          * 指定された年月日時分からDateオブジェクトを生成します。 <br>
77 |  |
          * 月は1オリジンです。 <br>
78 |  |
          *
79 |  |
          * @param year
80 |  |
          *            年
81 |  |
          * @param month
82 |  |
          *            月(1-12)
83 |  |
          * @param day
84 |  |
          *            日
85 |  |
          * @param hours
86 |  |
          *            時(0-23)
87 |  |
          * @param minutes
88 |  |
          *            分(0-59)
89 |  |
          * @return
90 |  |
          */
91 | 3 |
         public static Date toDate(int year, int month, int day, int hours,
92 |  |
                 int minutes) {
93 | 3 |
             return toDate(year, month, day, hours, minutes, 0);
94 |  |
         }
95 |  |
96 |  |
         /**
97 |  |
          * 指定された年月日時分秒からDateオブジェクトを生成します。 <br>
98 |  |
          * 月は1オリジンです。 <br>
99 |  |
          *
100 |  |
          * @param year
101 |  |
          *            年
102 |  |
          * @param month
103 |  |
          *            月(1-12)
104 |  |
          * @param day
105 |  |
          *            日
106 |  |
          * @param hours
107 |  |
          *            時(0-23)
108 |  |
          * @param minutes
109 |  |
          *            分(0-59)
110 |  |
          * @param seconds
111 |  |
          *            秒(0-59)
112 |  |
          * @return
113 |  |
          */
114 | 5 |
         public static Date toDate(int year, int month, int day, int hours,
115 |  |
                 int minutes, int seconds) {
116 | 5 |
             return toDate(year, month, day, hours, minutes, seconds, 0);
117 |  |
         }
118 |  |
119 |  |
         /**
120 |  |
          * 指定された年月日時分秒ミリ秒からDateオブジェクトを生成します。 <br>
121 |  |
          * 月は1オリジンです。 <br>
122 |  |
          *
123 |  |
          * @param year
124 |  |
          *            年
125 |  |
          * @param month
126 |  |
          *            月(1-12)
127 |  |
          * @param day
128 |  |
          *            日
129 |  |
          * @param hours
130 |  |
          *            時(0-23)
131 |  |
          * @param minutes
132 |  |
          *            分(0-59)
133 |  |
          * @param seconds
134 |  |
          *            秒(0-59)
135 |  |
          * @param milliseconds
136 |  |
          *            ミリ秒(0-999)
137 |  |
          * @return
138 |  |
          */
139 | 13 |
         public static Date toDate(int year, int month, int day, int hours,
140 |  |
                 int minutes, int seconds, int milliseconds) {
141 | 13 |
             final Calendar cal = Calendar.getInstance();
142 | 13 |
             cal.set(year, month - 1, day, hours, minutes, seconds);
143 | 13 |
             cal.set(Calendar.MILLISECOND, milliseconds);
144 | 13 |
             return new Date(cal.getTime().getTime());
145 |  |
         }
146 |  |
147 |  |
         /**
148 |  |
          * 指定された日付の0時0分0秒0ミリ秒に設定されたDateオブジェクトを返す
149 |  |
          *
150 |  |
          * @param y
151 |  |
          * @param m
152 |  |
          * @param d
153 |  |
          * @return
154 |  |
          */
155 | 0 |
         public static Date toDateBegin(int y, int m, int d) {
156 | 0 |
             return toDateTime(y, m, d, 0, 0, 0, 0);
157 |  |
         }
158 |  |
159 |  |
         /**
160 |  |
          * 指定された日付の23時59分59秒999ミリ秒に設定されたDateオブジェクトを返す
161 |  |
          *
162 |  |
          * @param y
163 |  |
          * @param m
164 |  |
          * @param d
165 |  |
          * @return
166 |  |
          */
167 | 0 |
         public static Date toDateEnd(int y, int m, int d) {
168 | 0 |
             return toDateTime(y, m, d, 23, 59, 59, 999);
169 |  |
         }
170 |  |
171 |  |
         /**
172 |  |
          * うるう年かどうかを判断します。
173 |  |
          *
174 |  |
          * @param year
175 |  |
          * @return
176 |  |
          */
177 | 0 |
         public static boolean isLeapYear(int year) {
178 | 0 |
             final GregorianCalendar calendar = new GregorianCalendar();
179 | 0 |
             return calendar.isLeapYear(year);
180 |  |
         }
181 |  |
182 |  |
         /**
183 |  |
          * 指定された月の最初の日付をDate型で返します。
184 |  |
          *
185 |  |
          * @param year
186 |  |
          *            年
187 |  |
          * @param month
188 |  |
          *            月 1オリジンです
189 |  |
          * @return
190 |  |
          */
191 | 0 |
         public static Date getBeginDateOfMonth(int year, int month) {
192 | 0 |
             final Calendar calendar = Calendar.getInstance();
193 | 0 |
             calendar.set(Calendar.YEAR, year);
194 | 0 |
             calendar.set(Calendar.MONTH, month - 1);
195 | 0 |
             calendar.set(Calendar.DAY_OF_MONTH, 1);
196 | 0 |
             return new Date(calendar.getTimeInMillis());
197 |  |
         }
198 |  |
199 |  |
         /**
200 |  |
          * 指定された月の最後の日付をDate型で返します。
201 |  |
          *
202 |  |
          * @param year
203 |  |
          *            年
204 |  |
          * @param month
205 |  |
          *            月 1オリジンです
206 |  |
          * @return
207 |  |
          */
208 | 0 |
         public static Date getLastDateOfMonth(int year, int month) {
209 | 0 |
             final Calendar calendar = Calendar.getInstance();
210 | 0 |
             calendar.set(Calendar.YEAR, year);
211 | 0 |
             calendar.set(Calendar.MONTH, month - 1);
212 | 0 |
             calendar.set(Calendar.DAY_OF_MONTH, getLastDayOfMonth(year, month));
213 | 0 |
             return new Date(calendar.getTimeInMillis());
214 |  |
         }
215 |  |
216 |  |
         /**
217 |  |
          * 指定された月の最後の日をintで返します。
218 |  |
          *
219 |  |
          * @param year
220 |  |
          *            年
221 |  |
          * @param month
222 |  |
          *            月 1オリジンです
223 |  |
          * @return
224 |  |
          */
225 | 24 |
         public static int getLastDayOfMonth(int year, int month) {
226 | 24 |
             GregorianCalendar calendar = new GregorianCalendar();
227 | 24 |
             calendar.set(Calendar.YEAR, year);
228 | 24 |
             calendar.set(Calendar.MONTH, month - 1);
229 | 24 |
             calendar.set(Calendar.DAY_OF_MONTH, 1); //これがないとダメです。
230 | 24 |
             return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
231 |  |
         }
232 |  |
233 |  |
     }