OSDN Git Service

#25728
[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         public static final int LEN = 10;\r
12         private static DecimalFormat fmt2 = new DecimalFormat("00");\r
13         \r
14         public static int getYmd(Date date){\r
15                 int y = date.getYear();\r
16                 int m = date.getMonth();\r
17                 int d = date.getDate();\r
18 \r
19                 return getYmd(y, m, d);\r
20         }\r
21 \r
22         public static int getYmd(int y, int m, int d){\r
23                 return (1900 + y) * 10000 + (m + 1) * 100 + d;          \r
24         }\r
25         \r
26         public static int getHm(Date date){\r
27                 int h = date.getHours();\r
28                 int m = date.getMinutes();\r
29 \r
30                 return getHm(h, m);\r
31         }\r
32 \r
33         public static int getHm(int h, int m){\r
34                 return h * 100 + m;             \r
35         }\r
36         \r
37         public static String toName(int index){\r
38                 String[] names = {\r
39                                 "\93ú", "\8c\8e", "\89Î", "\90\85", "\96Ø", "\8bà", "\93y"\r
40                 };\r
41                 return names[index];\r
42         }\r
43         \r
44         public static String formatted(Calendar cal){\r
45                 Date d = cal.getTime();\r
46                 int ymd = getYmd(d);\r
47                 int hm = getHm(d);\r
48                 return formattedYmd(ymd) + " " + formattedHm(hm);\r
49         }\r
50         \r
51         public static String formatted(long t){\r
52                 Calendar cal = Calendar.getInstance();\r
53                 cal.setTimeInMillis(t);\r
54                 return formatted(cal);\r
55         }\r
56         \r
57         public static String formattedHm(int hm){\r
58                 StringBuffer sb = new StringBuffer();\r
59                 sb.append(fmt2.format((int) (hm / 100)));\r
60                 sb.append(":");\r
61                 sb.append(fmt2.format((int) (hm % 100)));\r
62                 return sb.toString();\r
63         }\r
64 \r
65         public static String formattedDate(int ymd, int from, int to){\r
66                 StringBuffer sb = new StringBuffer();\r
67                 sb.append(formattedYmd(ymd));\r
68                 sb.append(" ");\r
69                 sb.append(formattedHm(from));\r
70                 sb.append(" - ");\r
71                 sb.append(formattedHm(to));\r
72                 return sb.toString();\r
73         }\r
74         \r
75         public static String formattedYmd(int ymd){\r
76                 StringBuffer sb = new StringBuffer();\r
77                 sb.append(ymd / 10000);\r
78                 sb.append("/");\r
79                 sb.append(fmt2.format((int) (ymd % 10000 / 100)));\r
80                 sb.append("/");\r
81                 sb.append(fmt2.format((int) (ymd % 100)));\r
82                 return sb.toString();\r
83         }\r
84 \r
85         public static long getTime(Date date, int i, int from) {\r
86                 // \8d¡\93ú(date)\82©\82ç\81Ai\93ú\8cã\82Ì\81Afrom\8e\9e\r
87                 Calendar cal = Calendar.getInstance();\r
88                 cal.setTime(date);\r
89                 cal.add(Calendar.DAY_OF_MONTH, i);\r
90                 cal.set(Calendar.HOUR_OF_DAY, from / 100);\r
91                 cal.set(Calendar.MINUTE, from % 100);\r
92                 \r
93                 return cal.getTimeInMillis();\r
94         }\r
95         \r
96         // TODO test\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 - 1900, m - 1, d, h, mi);\r
100                 cal.set(y, m - 1, d, h, mi);\r
101                 return cal;\r
102         }\r
103         \r
104         // TODO test\r
105         public static Date getDate(long t){\r
106                 Calendar cal = Calendar.getInstance();\r
107                 cal.setTimeInMillis(t);\r
108                 return cal.getTime();           \r
109         }\r
110         \r
111         // TODO test\r
112         public static int getWeek(Calendar cal){\r
113                 return cal.get(Calendar.DAY_OF_WEEK) - 1;\r
114         }\r
115         \r
116         // TODO test\r
117         public static int getYear(Calendar cal){\r
118                 // TODO\r
119                 //return cal.get(Calendar.YEAR) + 1900;\r
120                 return cal.get(Calendar.YEAR);\r
121         }\r
122         \r
123         // TODO test\r
124         public static int getMonth(Calendar cal){\r
125                 return cal.get(Calendar.MONTH) + 1;\r
126         }\r
127         \r
128         // TODO test\r
129         public static int getDay(Calendar cal){\r
130                 return cal.get(Calendar.DAY_OF_MONTH);\r
131         }\r
132         \r
133         // TODO test\r
134         public static int getHour(Calendar cal){\r
135                 return cal.get(Calendar.HOUR_OF_DAY);\r
136         }\r
137         \r
138         // TODO test\r
139         public static int getMinute(Calendar cal){\r
140                 return cal.get(Calendar.MINUTE);\r
141         }\r
142 }\r