OSDN Git Service

複数プロセス、プリファレンス保存の不具合あり
[train-delayed/source.git] / workspace / TrainDelayed / src / com / td / utility / DateUtil.java
1 package com.td.utility;\r
2 \r
3 import java.text.DecimalFormat;\r
4 import java.util.Calendar;\r
5 import java.util.Date;\r
6 \r
7 public class DateUtil {\r
8         public static final int WEEK = 7;\r
9         public static final int HM_MIN = 0;\r
10         public static final int HM_MAX = 9999;\r
11         // \8aÄ\8e\8b\82·\82é\8aÔ\8au(\95ª)\r
12         public static final int LEN = 10;\r
13         private static DecimalFormat fmt2 = new DecimalFormat("00");\r
14         \r
15         public static int getYmd(Date date){\r
16                 int y = date.getYear();\r
17                 int m = date.getMonth();\r
18                 int d = date.getDate();\r
19 \r
20                 return getYmd(y, m, d);\r
21         }\r
22 \r
23         public static int getYmd(int y, int m, int d){\r
24                 return (1900 + y) * 10000 + (m + 1) * 100 + d;          \r
25         }\r
26         \r
27         public static int getHm(Date date){\r
28                 int h = date.getHours();\r
29                 int m = date.getMinutes();\r
30 \r
31                 return getHm(h, m);\r
32         }\r
33 \r
34         public static int getHm(int h, int m){\r
35                 return h * 100 + m;             \r
36         }\r
37         \r
38         public static String toName(int index){\r
39                 String[] names = {\r
40                                 "\93ú", "\8c\8e", "\89Î", "\90\85", "\96Ø", "\8bà", "\93y"\r
41                 };\r
42                 return names[index];\r
43         }\r
44         \r
45         public static String formatted(Calendar cal){\r
46                 Date d = cal.getTime();\r
47                 int ymd = getYmd(d);\r
48                 int hm = getHm(d);\r
49                 return formattedYmd(ymd) + " " + formattedHm(hm);\r
50         }\r
51         \r
52         public static String formatted(long t){\r
53                 Calendar cal = Calendar.getInstance();\r
54                 cal.setTimeInMillis(t);\r
55                 return formatted(cal);\r
56         }\r
57         \r
58         public static String formattedHm(int hm){\r
59                 StringBuffer sb = new StringBuffer();\r
60                 sb.append(fmt2.format((int) (hm / 100)));\r
61                 sb.append(":");\r
62                 sb.append(fmt2.format((int) (hm % 100)));\r
63                 return sb.toString();\r
64         }\r
65 \r
66         public static String formattedDate(int ymd, int from, int to){\r
67                 StringBuffer sb = new StringBuffer();\r
68                 sb.append(formattedYmd(ymd));\r
69                 sb.append(" ");\r
70                 sb.append(formattedHm(from));\r
71                 sb.append(" - ");\r
72                 sb.append(formattedHm(to));\r
73                 return sb.toString();\r
74         }\r
75         \r
76         public static String formattedYmd(int ymd){\r
77                 StringBuffer sb = new StringBuffer();\r
78                 sb.append(ymd / 10000);\r
79                 sb.append("/");\r
80                 sb.append(fmt2.format((int) (ymd % 10000 / 100)));\r
81                 sb.append("/");\r
82                 sb.append(fmt2.format((int) (ymd % 100)));\r
83                 return sb.toString();\r
84         }\r
85 \r
86         public static Calendar getTime(Date date, int i, int from) {\r
87                 // \8d¡\93ú(date)\82©\82ç\81Ai\93ú\8cã\82Ì\81Afrom\8e\9e\r
88                 Calendar cal = Calendar.getInstance();\r
89                 cal.setTime(date);\r
90                 cal.add(Calendar.DAY_OF_MONTH, i);\r
91                 cal.set(Calendar.HOUR_OF_DAY, from / 100);\r
92                 cal.set(Calendar.MINUTE, from % 100);\r
93                 \r
94                 return cal;\r
95         }\r
96         \r
97         public static Calendar getCalendar(int y, int m, int d, int h, int mi){\r
98                 Calendar cal = Calendar.getInstance();\r
99                 cal.set(y, m - 1, d, h, mi);\r
100                 return cal;\r
101         }\r
102         \r
103         public static Calendar getCalendar(int ymd, int hm){\r
104                 int y = getY(ymd);\r
105                 int m = getM(ymd);\r
106                 int d = getD(ymd);\r
107                 int h = getH(hm);\r
108                 int mi = getMi(hm);\r
109                 \r
110                 Calendar cal = Calendar.getInstance();\r
111                 cal.set(y, m - 1, d, h, mi);\r
112                 return cal;\r
113         }\r
114         \r
115         public static Date getDate(long t){\r
116                 Calendar cal = Calendar.getInstance();\r
117                 cal.setTimeInMillis(t);\r
118                 return cal.getTime();           \r
119         }\r
120         \r
121         public static int getWeek(Calendar cal){\r
122                 return cal.get(Calendar.DAY_OF_WEEK) - 1;\r
123         }\r
124         \r
125         public static int getYear(Calendar cal){\r
126                 return cal.get(Calendar.YEAR);\r
127         }\r
128         \r
129         public static int getMonth(Calendar cal){\r
130                 return cal.get(Calendar.MONTH) + 1;\r
131         }\r
132         \r
133         public static int getDay(Calendar cal){\r
134                 return cal.get(Calendar.DAY_OF_MONTH);\r
135         }\r
136         \r
137         public static int getHour(Calendar cal){\r
138                 return cal.get(Calendar.HOUR_OF_DAY);\r
139         }\r
140         \r
141         public static int getMinute(Calendar cal){\r
142                 return cal.get(Calendar.MINUTE);\r
143         }\r
144         \r
145         public static String getHour(String t){\r
146                 return t.substring(0, 2);\r
147         }\r
148         \r
149         public static String getMinute(String t){\r
150                 return t.substring(3, 5);\r
151         }\r
152         \r
153         public static int getY(int ymd){\r
154                 return ymd / 10000;\r
155         }\r
156         \r
157         public static int getM(int ymd){\r
158                 return (ymd % 10000) / 100;\r
159         }\r
160         \r
161         public static int getD(int ymd){\r
162                 return ymd % 100;\r
163         }\r
164 \r
165         public static int getH(int hm){\r
166                 return hm / 100;\r
167         }\r
168 \r
169         public static int getMi(int hm){\r
170                 return hm % 100;\r
171         }       \r
172 }\r