Java日期操作常用方法

/**
02. * 取得指定月份的第一天
03. *
04. * @param strdate String
05. * @return String
06. /
07. public String getMonthBegin(String strdate)
08. {
09. Java.util.Date date = parseFormatDate(strdate);
10. return formatDateByFormat(date,“yyyy-MM”) + “-01”;
11. }
12.
13. /
*
14. * 取得指定月份的最后一天
15. *
16. * @param strdate String
17. * @return String
18. /
19. public String getMonthEnd(String strdate)
20. {
21. java.util.Date date = parseFormatDate(getMonthBegin(strdate));
22. Calendar calendar = Calendar.getInstance();
23. calendar.setTime(date);
24. calendar.add(Calendar.MONTH,1);
25. calendar.add(Calendar.DAY_OF_YEAR, -1);
26. return formatDate(calendar.getTime());
27. }
28.
29. /
*
30. * 常用的格式化日期
31. *
32. * @param date Date
33. * @return String
34. /
35. public String formatDate(java.util.Date date)
36. {
37. return formatDateByFormat(date,“yyyy-MM-dd”);
38. }
39.
40. /
*
41. * 以指定的格式来格式化日期
42. *
43. * @param date Date
44. * @param format String
45. * @return String
46. /
47. public String formatDateByFormat(java.util.Date date,String format)
48. {
49. String result = “”;
50. if(date != null)
51. {
52. try
53. {
54. SimpleDateFormat sdf = new SimpleDateFormat(format);
55. result = sdf.format(date);
56. }
57. catch(Exception ex)
58. {
59. LOGGER.info(“date:” + date);
60. ex.printStackTrace();
61. }
62. }
63. return result;
64. }
65.
66.
67.
68./
*
69. * 日期操作
70. *
71. * @author xxx
72. * @version 2.0 jdk1.4.0 tomcat5.1.0 * Updated Date:2005/03/10
73. /
74.public class DateUtil {
75. /
*
76. * 格式化日期
77. *
78. * @param dateStr
79. * 字符型日期
80. * @param format
81. * 格式
82. * @return 返回日期
83. /
84. public static java.util.Date parseDate(String dateStr, String format) {
85. java.util.Date date = null;
86. try {
87. java.text.DateFormat df = new java.text.SimpleDateFormat(format);
88. String dt=Normal.parse(dateStr).replaceAll(
89. “-”, “/”);
90. if((!dt.equals(""))&&(dt.length()<format.length())){
91. dt+=format.substring(dt.length()).replaceAll("[YyMmDdHhSs]",“0”);
92. }
93. date = (java.util.Date) df.parse(dt);
94. } catch (Exception e) {
95. }
96. return date;
97. }
98.
99. public static java.util.Date parseDate(String dateStr) {
100. return parseDate(dateStr, “yyyy/MM/dd”);
101. }
102.
103. public static java.util.Date parseDate(java.sql.Date date) {
104. return date;
105. }
106.
107. public static java.sql.Date parseSqlDate(java.util.Date date) {
108. if (date != null)
109. return new java.sql.Date(date.getTime());
110. else
111. return null;
112. }
113.
114. public static java.sql.Date parseSqlDate(String dateStr, String format) {
115. java.util.Date date = parseDate(dateStr, format);
116. return parseSqlDate(date);
117. }
118.
119. public static java.sql.Date parseSqlDate(String dateStr) {
120. return parseSqlDate(dateStr, “yyyy/MM/dd”);
121. }
122.
123.
124. public static java.sql.Timestamp parseTimestamp(String dateStr,
125. String format) {
126. java.util.Date date = parseDate(dateStr, format);
127. if (date != null) {
128. long t = date.getTime();
129. return new java.sql.Timestamp(t);
130. } else
131. return null;
132. }
133.
134. public static java.sql.Timestamp parseTimestamp(String dateStr) {
135. return parseTimestamp(dateStr, “yyyy/MM/dd HH:mm:ss”);
136. }
137.
138. /
*
139. * 格式化输出日期
140. *
141. * @param date
142. * 日期
143. * @param format
144. * 格式
145. * @return 返回字符型日期
146. /
147. public static String format(java.util.Date date, String format) {
148. String result = “”;
149. try {
150. if (date != null) {
151. java.text.DateFormat df = new java.text.SimpleDateFormat(format);
152. result = df.format(date);
153. }
154. } catch (Exception e) {
155. }
156. return result;
157. }
158.
159. public static String format(java.util.Date date) {
160. return format(date, “yyyy/MM/dd”);
161. }
162.
163. /
*
164. * 返回年份
165. *
166. * @param date
167. * 日期
168. * @return 返回年份
169. /
170. public static int getYear(java.util.Date date) {
171. java.util.Calendar c = java.util.Calendar.getInstance();
172. c.setTime(date);
173. return c.get(java.util.Calendar.YEAR);
174. }
175.
176. /
*
177. * 返回月份
178. *
179. * @param date
180. * 日期
181. * @return 返回月份
182. /
183. public static int getMonth(java.util.Date date) {
184. java.util.Calendar c = java.util.Calendar.getInstance();
185. c.setTime(date);
186. return c.get(java.util.Calendar.MONTH) + 1;
187. }
188.
189. /
*
190. * 返回日份
191. *
192. * @param date
193. * 日期
194. * @return 返回日份
195. /
196. public static int getDay(java.util.Date date) {
197. java.util.Calendar c = java.util.Calendar.getInstance();
198. c.setTime(date);
199. return c.get(java.util.Calendar.DAY_OF_MONTH);
200. }
201.
202. /
*
203. * 返回小时
204. *
205. * @param date
206. * 日期
207. * @return 返回小时
208. /
209. public static int getHour(java.util.Date date) {
210. java.util.Calendar c = java.util.Calendar.getInstance();
211. c.setTime(date);
212. return c.get(java.util.Calendar.HOUR_OF_DAY);
213. }
214.
215. /
*
216. * 返回分钟
217. *
218. * @param date
219. * 日期
220. * @return 返回分钟
221. /
222. public static int getMinute(java.util.Date date) {
223. java.util.Calendar c = java.util.Calendar.getInstance();
224. c.setTime(date);
225. return c.get(java.util.Calendar.MINUTE);
226. }
227.
228. /
*
229. * 返回秒钟
230. *
231. * @param date
232. * 日期
233. * @return 返回秒钟
234. /
235. public static int getSecond(java.util.Date date) {
236. java.util.Calendar c = java.util.Calendar.getInstance();
237. c.setTime(date);
238. return c.get(java.util.Calendar.SECOND);
239. }
240.
241. /
*
242. * 返回毫秒
243. *
244. * @param date
245. * 日期
246. * @return 返回毫秒
247. /
248. public static long getMillis(java.util.Date date) {
249. java.util.Calendar c = java.util.Calendar.getInstance();
250. c.setTime(date);
251. return c.getTimeInMillis();
252. }
253.
254. /
*
255. * 返回字符型日期
256. *
257. * @param date
258. * 日期
259. * @return 返回字符型日期
260. /
261. public static String getDate(java.util.Date date) {
262. return format(date, “yyyy/MM/dd”);
263. }
264.
265. /
*
266. * 返回字符型时间
267. *
268. * @param date
269. * 日期
270. * @return 返回字符型时间
271. /
272. public static String getTime(java.util.Date date) {
273. return format(date, “HH:mm:ss”);
274. }
275.
276. /
*
277. * 返回字符型日期时间
278. *
279. * @param date
280. * 日期
281. * @return 返回字符型日期时间
282. /
283. public static String getDateTime(java.util.Date date) {
284. return format(date, “yyyy/MM/dd HH:mm:ss”);
285. }
286.
287. /
*
288. * 日期相加
289. *
290. * @param date
291. * 日期
292. * @param day
293. * 天数
294. * @return 返回相加后的日期
295. /
296. public static java.util.Date addDate(java.util.Date date, int day) {
297. java.util.Calendar c = java.util.Calendar.getInstance();
298. c.setTimeInMillis(getMillis(date) + ((long) day) * 24 * 3600 * 1000);
299. return c.getTime();
300. }
301.
302. /
*
303. * 日期相减
304. *
305. * @param date
306. * 日期
307. * @param date1
308. * 日期
309. * @return 返回相减后的日期
310. /
311. public static int diffDate(java.util.Date date, java.util.Date date1) {
312. return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
313. }
314.}
315.
316.
317.
318.Calendar now = Calendar.getInstance();
319.int year = now.get(Calendar.YEAR);
320.int date = now.get(Calendar.DAY_OF_MONTH);
321.int month = now.get(Calendar.MONTH) + 1;
322.int hour = now.get(Calendar.HOUR);
323.int min = now.get(Calendar.MINUTE);
324.int sec = now.get(Calendar.SECOND);
325.
326.
327.
328.
329.import java.sql.Timestamp;
330.import java.text.SimpleDateFormat;
331.import java.util.
;
332./**
333. *
334. *
335.public class ManageWeek {
336. //判断两个日期是否在同一周
337. boolean isSameWeekDates(Date date1, Date date2) {
338. Calendar cal1 = Calendar.getInstance();
339. Calendar cal2 = Calendar.getInstance();
340. cal1.setTime(date1);
341. cal2.setTime(date2);
342. int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
343. if (0 == subYear) {
344. if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
345. return true;
346. }
347. else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
348. // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
349. if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
350. return true;
351. }
352. else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
353. if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
354. return true;
355. }
356. return false;
357. }
358.
359.
360. //产生周序列
361. public static String getSeqWeek(){
362. Calendar c = Calendar.getInstance(Locale.CHINA);
363. String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
364. if(week.length()==1)week = “0” + week;
365. String year = Integer.toString(c.get(Calendar.YEAR));
366. return year+week;
367.
368. }
369.
370. //获得周一的日期
371. public static String getMonday(Date date){
372. Calendar c = Calendar.getInstance();
373. c.setTime(date);
374. c.set(Calendar.DAY_OF_WEEK,Calendar.MONDAY);
375. return new SimpleDateFormat(“yyyy-MM-dd”).format(c.getTime());
376. }
377.
378.
379. //获得周五的日期
380. public static String getFriday(Date date){
381. Calendar c = Calendar.getInstance();
382. c.setTime(date);
383. c.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);
384. return new SimpleDateFormat(“yyyy-MM-dd”).format(c.getTime());
385.
386.
387. }
388. public static void main(String[] args){
389.
390. }
391.
392.}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值