Java时间日期格式转换Date转String和String转Date

Java时间日期格式转换Date转String和String转Date

1 Java时间格式转换大全
2
3 import java.text.;
4 import java.util.Calendar;
5 public class VeDate {
6 /**
7 * 获取现在时间
8 *
9 * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
10 /
11 public static Date getNowDate() {
12 Date currentTime = new Date();
13 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
14 String dateString = formatter.format(currentTime);
15 ParsePosition pos = new ParsePosition(8);
16 Date currentTime_2 = formatter.parse(dateString, pos);
17 return currentTime_2;
18 }
19 /
*
20 * 获取现在时间
21 *
22 * @return返回短时间格式 yyyy-MM-dd
23 /
24 DateFormat format1 = new SimpleDateFormat(“yyyy-MM-dd”);
25 DateFormat format 2= new SimpleDateFormat(“yyyy年MM月dd日 HH时mm分ss秒”);
26 Date date = null;
27 String str = null;
28
29 // String转Date
30 str = “2007-1-18”;
31 try {
32 date = format1.parse(str);
33 data = format2.parse(str);
34 } catch (ParseException e) {
35 e.printStackTrace();
36 }
37 /
*
38 * 获取现在时间
39 *
40 * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
41 /
42 public static String getStringDate() {
43 Date currentTime = new Date();
44 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
45 String dateString = formatter.format(currentTime);
46 return dateString;
47 }
48 /
*
49 * 获取现在时间
50 *
51 * @return 返回短时间字符串格式yyyy-MM-dd
52 /
53 public static String getStringDateShort() {
54 Date currentTime = new Date();
55 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
56 String dateString = formatter.format(currentTime);
57 return dateString;
58 }
59 /
*
60 * 获取时间 小时:分;秒 HH:mm:ss
61 *
62 * @return
63 /
64 public static String getTimeShort() {
65 SimpleDateFormat formatter = new SimpleDateFormat(“HH:mm:ss”);
66 Date currentTime = new Date();
67 String dateString = formatter.format(currentTime);
68 return dateString;
69 }
70 /
*
71 * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
72 *
73 * @param strDate
74 * @return
75 /
76 public static Date strToDateLong(String strDate) {
77 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
78 ParsePosition pos = new ParsePosition(0);
79 Date strtodate = formatter.parse(strDate, pos);
80 return strtodate;
81 }
82 /
*
83 * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
84 *
85 * @param dateDate
86 * @return
87 /
88 public static String dateToStrLong(java.util.Date dateDate) {
89 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
90 String dateString = formatter.format(dateDate);
91 return dateString;
92 }
93 /
*
94 * 将短时间格式时间转换为字符串 yyyy-MM-dd
95 *
96 * @param dateDate
97 * @param k
98 * @return
99 /
100 public static String dateToStr(java.util.Date dateDate) {
101 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
102 String dateString = formatter.format(dateDate);
103 return dateString;
104 }
105 /
*
106 * 将短时间格式字符串转换为时间 yyyy-MM-dd
107 *
108 * @param strDate
109 * @return
110 /
111 public static Date strToDate(String strDate) {
112 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
113 ParsePosition pos = new ParsePosition(0);
114 Date strtodate = formatter.parse(strDate, pos);
115 return strtodate;
116 }
117 /
*
118 * 得到现在时间
119 *
120 * @return
121 /
122 public static Date getNow() {
123 Date currentTime = new Date();
124 return currentTime;
125 }
126 /
*
127 * 提取一个月中的最后一天
128 *
129 * @param day
130 * @return
131 /
132 public static Date getLastDate(long day) {
133 Date date = new Date();
134 long date_3_hm = date.getTime() - 3600000 * 34 * day;
135 Date date_3_hm_date = new Date(date_3_hm);
136 return date_3_hm_date;
137 }
138 /
*
139 * 得到现在时间
140 *
141 * @return 字符串 yyyyMMdd HHmmss
142 /
143 public static String getStringToday() {
144 Date currentTime = new Date();
145 SimpleDateFormat formatter = new SimpleDateFormat(“yyyyMMdd HHmmss”);
146 String dateString = formatter.format(currentTime);
147 return dateString;
148 }
149 /
*
150 * 得到现在小时
151 /
152 public static String getHour() {
153 Date currentTime = new Date();
154 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
155 String dateString = formatter.format(currentTime);
156 String hour;
157 hour = dateString.substring(11, 13);
158 return hour;
159 }
160 /
*
161 * 得到现在分钟
162 *
163 * @return
164 /
165 public static String getTime() {
166 Date currentTime = new Date();
167 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
168 String dateString = formatter.format(currentTime);
169 String min;
170 min = dateString.substring(14, 16);
171 return min;
172 }
173 /
*
174 * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
175 *
176 * @param sformat
177 * yyyyMMddhhmmss
178 * @return
179 /
180 public static String getUserDate(String sformat) {
181 Date currentTime = new Date();
182 SimpleDateFormat formatter = new SimpleDateFormat(sformat);
183 String dateString = formatter.format(currentTime);
184 return dateString;
185 }
186 --------------------------------------------------------------------------------------------------------------------------------
187
188 做成方法
189
190 import java.util.
;
191 import java.text.
;
192 import java.util.Calendar;
193
194 public class VeDate {
195 /**
196 * 获取现在时间
197 *
198 * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
199 /
200 public static Date getNowDate() {
201 Date currentTime = new Date();
202 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
203 String dateString = formatter.format(currentTime);
204 ParsePosition pos = new ParsePosition(8);
205 Date currentTime_2 = formatter.parse(dateString, pos);
206 return currentTime_2;
207 }
208
209 /
*
210 * 获取现在时间
211 *
212 * @return返回短时间格式 yyyy-MM-dd
213 /
214 public static Date getNowDateShort() {
215 Date currentTime = new Date();
216 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
217 String dateString = formatter.format(currentTime);
218 ParsePosition pos = new ParsePosition(8);
219 Date currentTime_2 = formatter.parse(dateString, pos);
220 return currentTime_2;
221 }
222
223 /
*
224 * 获取现在时间
225 *
226 * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
227 /
228 public static String getStringDate() {
229 Date currentTime = new Date();
230 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
231 String dateString = formatter.format(currentTime);
232 return dateString;
233 }
234
235 /
*
236 * 获取现在时间
237 *
238 * @return 返回短时间字符串格式yyyy-MM-dd
239 /
240 public static String getStringDateShort() {
241 Date currentTime = new Date();
242 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
243 String dateString = formatter.format(currentTime);
244 return dateString;
245 }
246
247 /
*
248 * 获取时间 小时:分;秒 HH:mm:ss
249 *
250 * @return
251 /
252 public static String getTimeShort() {
253 SimpleDateFormat formatter = new SimpleDateFormat(“HH:mm:ss”);
254 Date currentTime = new Date();
255 String dateString = formatter.format(currentTime);
256 return dateString;
257 }
258
259 /
*
260 * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
261 *
262 * @param strDate
263 * @return
264 /
265 public static Date strToDateLong(String strDate) {
266 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
267 ParsePosition pos = new ParsePosition(0);
268 Date strtodate = formatter.parse(strDate, pos);
269 return strtodate;
270 }
271
272 /
*
273 * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
274 *
275 * @param dateDate
276 * @return
277 /
278 public static String dateToStrLong(java.util.Date dateDate) {
279 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
280 String dateString = formatter.format(dateDate);
281 return dateString;
282 }
283
284 /
*
285 * 将短时间格式时间转换为字符串 yyyy-MM-dd
286 *
287 * @param dateDate
288 * @param k
289 * @return
290 /
291 public static String dateToStr(java.util.Date dateDate) {
292 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
293 String dateString = formatter.format(dateDate);
294 return dateString;
295 }
296
297 /
*
298 * 将短时间格式字符串转换为时间 yyyy-MM-dd
299 *
300 * @param strDate
301 * @return
302 /
303 public static Date strToDate(String strDate) {
304 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
305 ParsePosition pos = new ParsePosition(0);
306 Date strtodate = formatter.parse(strDate, pos);
307 return strtodate;
308 }
309
310 /
*
311 * 得到现在时间
312 *
313 * @return
314 /
315 public static Date getNow() {
316 Date currentTime = new Date();
317 return currentTime;
318 }
319
320 /
*
321 * 提取一个月中的最后一天
322 *
323 * @param day
324 * @return
325 /
326 public static Date getLastDate(long day) {
327 Date date = new Date();
328 long date_3_hm = date.getTime() - 3600000 * 34 * day;
329 Date date_3_hm_date = new Date(date_3_hm);
330 return date_3_hm_date;
331 }
332
333 /
*
334 * 得到现在时间
335 *
336 * @return 字符串 yyyyMMdd HHmmss
337 /
338 public static String getStringToday() {
339 Date currentTime = new Date();
340 SimpleDateFormat formatter = new SimpleDateFormat(“yyyyMMdd HHmmss”);
341 String dateString = formatter.format(currentTime);
342 return dateString;
343 }
344
345 /
*
346 * 得到现在小时
347 /
348 public static String getHour() {
349 Date currentTime = new Date();
350 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
351 String dateString = formatter.format(currentTime);
352 String hour;
353 hour = dateString.substring(11, 13);
354 return hour;
355 }
356
357 /
*
358 * 得到现在分钟
359 *
360 * @return
361 /
362 public static String getTime() {
363 Date currentTime = new Date();
364 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
365 String dateString = formatter.format(currentTime);
366 String min;
367 min = dateString.substring(14, 16);
368 return min;
369 }
370
371 /
*
372 * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
373 *
374 * @param sformat
375 * yyyyMMddhhmmss
376 * @return
377 /
378 public static String getUserDate(String sformat) {
379 Date currentTime = new Date();
380 SimpleDateFormat formatter = new SimpleDateFormat(sformat);
381 String dateString = formatter.format(currentTime);
382 return dateString;
383 }
384
385 /
*
386 * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟
387 /
388 public static String getTwoHour(String st1, String st2) {
389 String[] kk = null;
390 String[] jj = null;
391 kk = st1.split("?;
392 jj = st2.split("?;
393 if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))
394 return “0”;
395 else {
396 double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60;
397 double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60;
398 if ((y - u) > 0)
399 return y - u + “”;
400 else
401 return “0”;
402 }
403 }
404
405 /
*
406 * 得到二个日期间的间隔天数
407 /
408 public static String getTwoDay(String sj1, String sj2) {
409 SimpleDateFormat myFormatter = new SimpleDateFormat(“yyyy-MM-dd”);
410 long day = 0;
411 try {
412 java.util.Date date = myFormatter.parse(sj1);
413 java.util.Date mydate = myFormatter.parse(sj2);
414 day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
415 } catch (Exception e) {
416 return “”;
417 }
418 return day + “”;
419 }
420
421 /
*
422 * 时间前推或后推分钟,其中JJ表示分钟.
423 /
424 public static String getPreTime(String sj1, String jj) {
425 SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
426 String mydate1 = “”;
427 try {
428 Date date1 = format.parse(sj1);
429 long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;
430 date1.setTime(Time * 1000);
431 mydate1 = format.format(date1);
432 } catch (Exception e) {
433 }
434 return mydate1;
435 }
436
437 /
*
438 * 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数
439 /
440 public static String getNextDay(String nowdate, String delay) {
441 try{
442 SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);
443 String mdate = “”;
444 Date d = strToDate(nowdate);
445 long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
446 d.setTime(myTime * 1000);
447 mdate = format.format(d);
448 return mdate;
449 }catch(Exception e){
450 return “”;
451 }
452 }
453
454 /
*
455 * 判断是否润年
456 *
457 * @param ddate
458 * @return
459 /
460 public static boolean isLeapYear(String ddate) {
461
462 /
*
463 * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
464 * 3.能被4整除同时能被100整除则不是闰年
465 /
466 Date d = strToDate(ddate);
467 GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
468 gc.setTime(d);
469 int year = gc.get(Calendar.YEAR);
470 if ((year % 400) == 0)
471 return true;
472 else if ((year % 4) == 0) {
473 if ((year % 100) == 0)
474 return false;
475 else
476 return true;
477 } else
478 return false;
479 }
480
481 /
*
482 * 返回美国时间格式 26 Apr 2006
483 *
484 * @param str
485 * @return
486 /
487 public static String getEDate(String str) {
488 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
489 ParsePosition pos = new ParsePosition(0);
490 Date strtodate = formatter.parse(str, pos);
491 String j = strtodate.toString();
492 String[] k = j.split(" ");
493 return k[2] + k[1].toUpperCase() + k[5].substring(2, 4);
494 }
495
496 /
*
497 * 获取一个月的最后一天
498 *
499 * @param dat
500 * @return
501 /
502 public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
503 String str = dat.substring(0, 8);
504 String month = dat.substring(5, 7);
505 int mon = Integer.parseInt(month);
506 if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {
507 str += “31”;
508 } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
509 str += “30”;
510 } else {
511 if (isLeapYear(dat)) {
512 str += “29”;
513 } else {
514 str += “28”;
515 }
516 }
517 return str;
518 }
519
520 /
*
521 * 判断二个时间是否在同一个周
522 *
523 * @param date1
524 * @param date2
525 * @return
526 /
527 public static boolean isSameWeekDates(Date date1, Date date2) {
528 Calendar cal1 = Calendar.getInstance();
529 Calendar cal2 = Calendar.getInstance();
530 cal1.setTime(date1);
531 cal2.setTime(date2);
532 int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
533 if (0 == subYear) {
534 if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
535 return true;
536 } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
537 // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
538 if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
539 return true;
540 } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
541 if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
542 return true;
543 }
544 return false;
545 }
546
547 /
*
548 * 产生周序列,即得到当前时间所在的年度是第几周
549 *
550 * @return
551 /
552 public static String getSeqWeek() {
553 Calendar c = Calendar.getInstance(Locale.CHINA);
554 String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
555 if (week.length() == 1)
556 week = “0” + week;
557 String year = Integer.toString(c.get(Calendar.YEAR));
558 return year + week;
559 }
560
561 /
*
562 * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
563 *
564 * @param sdate
565 * @param num
566 * @return
567 /
568 public static String getWeek(String sdate, String num) {
569 // 再转换为时间
570 Date dd = VeDate.strToDate(sdate);
571 Calendar c = Calendar.getInstance();
572 c.setTime(dd);
573 if (num.equals(“1”)) // 返回星期一所在的日期
574 c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
575 else if (num.equals(“2”)) // 返回星期二所在的日期
576 c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
577 else if (num.equals(“3”)) // 返回星期三所在的日期
578 c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
579 else if (num.equals(“4”)) // 返回星期四所在的日期
580 c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
581 else if (num.equals(“5”)) // 返回星期五所在的日期
582 c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
583 else if (num.equals(“6”)) // 返回星期六所在的日期
584 c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
585 else if (num.equals(“0”)) // 返回星期日所在的日期
586 c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
587 return new SimpleDateFormat(“yyyy-MM-dd”).format(c.getTime());
588 }
589
590 /
*
591 * 根据一个日期,返回是星期几的字符串
592 *
593 * @param sdate
594 * @return
595 /
596 public static String getWeek(String sdate) {
597 // 再转换为时间
598 Date date = VeDate.strToDate(sdate);
599 Calendar c = Calendar.getInstance();
600 c.setTime(date);
601 // int hour=c.get(Calendar.DAY_OF_WEEK);
602 // hour中存的就是星期几了,其范围 1~7
603 // 1=星期日 7=星期六,其他类推
604 return new SimpleDateFormat(“EEEE”).format(c.getTime());
605 }
606 public static String getWeekStr(String sdate){
607 String str = “”;
608 str = VeDate.getWeek(sdate);
609 if(“1”.equals(str)){
610 str = “星期日”;
611 }else if(“2”.equals(str)){
612 str = “星期一”;
613 }else if(“3”.equals(str)){
614 str = “星期二”;
615 }else if(“4”.equals(str)){
616 str = “星期三”;
617 }else if(“5”.equals(str)){
618 str = “星期四”;
619 }else if(“6”.equals(str)){
620 str = “星期五”;
621 }else if(“7”.equals(str)){
622 str = “星期六”;
623 }
624 return str;
625 }
626
627 /
*
628 * 两个时间之间的天数
629 *
630 * @param date1
631 * @param date2
632 * @return
633 /
634 public static long getDays(String date1, String date2) {
635 if (date1 == null || date1.equals(""))
636 return 0;
637 if (date2 == null || date2.equals(""))
638 return 0;
639 // 转换为标准时间
640 SimpleDateFormat myFormatter = new SimpleDateFormat(“yyyy-MM-dd”);
641 java.util.Date date = null;
642 java.util.Date mydate = null;
643 try {
644 date = myFormatter.parse(date1);
645 mydate = myFormatter.parse(date2);
646 } catch (Exception e) {
647 }
648 long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
649 return day;
650 }
651
652 /
*
653 * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间
654 * 此函数返回该日历第一行星期日所在的日期
655 *
656 * @param sdate
657 * @return
658 /
659 public static String getNowMonth(String sdate) {
660 // 取该时间所在月的一号
661 sdate = sdate.substring(0, 8) + “01”;
662
663 // 得到这个月的1号是星期几
664 Date date = VeDate.strToDate(sdate);
665 Calendar c = Calendar.getInstance();
666 c.setTime(date);
667 int u = c.get(Calendar.DAY_OF_WEEK);
668 String newday = VeDate.getNextDay(sdate, (1 - u) + “”);
669 return newday;
670 }
671
672 /
*
673 * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数
674 *
675 * @param k
676 * 表示是取几位随机数,可以自己定
677 /
678
679 public static String getNo(int k) {
680
681 return getUserDate(“yyyyMMddhhmmss”) + getRandom(k);
682 }
683
684 /
*
685 * 返回一个随机数
686 *
687 * @param i
688 * @return
689 /
690 public static String getRandom(int i) {
691 Random jjj = new Random();
692 // int suiJiShu = jjj.nextInt(9);
693 if (i == 0)
694 return “”;
695 String jj = “”;
696 for (int k = 0; k < i; k++) {
697 jj = jj + jjj.nextInt(9);
698 }
699 return jj;
700 }
701
702 /
*
703 *
704 * @param args
705 /
706 public static boolean RightDate(String date) {
707
708 SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
709 ;
710 if (date == null)
711 return false;
712 if (date.length() > 10) {
713 sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
714 } else {
715 sdf = new SimpleDateFormat(“yyyy-MM-dd”);
716 }
717 try {
718 sdf.parse(date);
719 } catch (ParseException pe) {
720 return false;
721 }
722 return true;
723 }
724
725 /
**************************************************************************
726 * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1
727 * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回
728 **************************************************************************/
729 public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {
730 Date currentTime = new Date();
731 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
732 String dateString = formatter.format(currentTime);
733 String s_nd = dateString.substring(0, 4); // 年份
734 String s_yf = dateString.substring(5, 7); // 月份
735 String s_rq = dateString.substring(8, 10); // 日期
736 String sreturn = “”;
737 roc.util.MyChar mc = new roc.util.MyChar();
738 if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况
739 if (nd.equals(“1”)) {
740 sreturn = s_nd;
741 // 处理间隔符
742 if (format.equals(“1”))
743 sreturn = sreturn + “年”;
744 else if (format.equals(“2”))
745 sreturn = sreturn + “-”;
746 else if (format.equals(“3”))
747 sreturn = sreturn + “/”;
748 else if (format.equals(“5”))
749 sreturn = sreturn + “.”;
750 }
751 // 处理月份
752 if (yf.equals(“1”)) {
753 sreturn = sreturn + s_yf;
754 if (format.equals(“1”))
755 sreturn = sreturn + “月”;
756 else if (format.equals(“2”))
757 sreturn = sreturn + “-”;
758 else if (format.equals(“3”))
759 sreturn = sreturn + “/”;
760 else if (format.equals(“5”))
761 sreturn = sreturn + “.”;
762 }
763 // 处理日期
764 if (rq.equals(“1”)) {
765 sreturn = sreturn + s_rq;
766 if (format.equals(“1”))
767 sreturn = sreturn + “日”;
768 }
769 } else {
770 // 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式
771 sdate = roc.util.RocDate.getOKDate(sdate);
772 s_nd = sdate.substring(0, 4); // 年份
773 s_yf = sdate.substring(5, 7); // 月份
774 s_rq = sdate.substring(8, 10); // 日期
775 if (nd.equals(“1”)) {
776 sreturn = s_nd;
777 // 处理间隔符
778 if (format.equals(“1”))
779 sreturn = sreturn + “年”;
780 else if (format.equals(“2”))
781 sreturn = sreturn + “-”;
782 else if (format.equals(“3”))
783 sreturn = sreturn + “/”;
784 else if (format.equals(“5”))
785 sreturn = sreturn + “.”;
786 }
787 // 处理月份
788 if (yf.equals(“1”)) {
789 sreturn = sreturn + s_yf;
790 if (format.equals(“1”))
791 sreturn = sreturn + “月”;
792 else if (format.equals(“2”))
793 sreturn = sreturn + “-”;
794 else if (format.equals(“3”))
795 sreturn = sreturn + “/”;
796 else if (format.equals(“5”))
797 sreturn = sreturn + “.”;
798 }
799 // 处理日期
800 if (rq.equals(“1”)) {
801 sreturn = sreturn + s_rq;
802 if (format.equals(“1”))
803 sreturn = sreturn + “日”;
804 }
805 }
806 return sreturn;
807 }
808
809 public static String getNextMonthDay(String sdate, int m) {
810 sdate = getOKDate(sdate);
811 int year = Integer.parseInt(sdate.substring(0, 4));
812 int month = Integer.parseInt(sdate.substring(5, 7));
813 month = month + m;
814 if (month < 0) {
815 month = month + 12;
816 year = year - 1;
817 } else if (month > 12) {
818 month = month - 12;
819 year = year + 1;
820 }
821 String smonth = “”;
822 if (month < 10)
823 smonth = “0” + month;
824 else
825 smonth = “” + month;
826 return year + “-” + smonth + “-10”;
827 }
828
829 public static String getOKDate(String sdate) {
830 if (sdate == null || sdate.equals(""))
831 return getStringDateShort();
832
833 if (!VeStr.Isdate(sdate)) {
834 sdate = getStringDateShort();
835 }
836 // 将“/”转换为“-”
837 sdate = VeStr.Replace(sdate, “/”, “-”);
838 // 如果只有8位长度,则要进行转换
839 if (sdate.length() == 8)
840 sdate = sdate.substring(0, 4) + “-” + sdate.substring(4, 6) + “-” + sdate.substring(6, 8);
841 SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);
842 ParsePosition pos = new ParsePosition(0);
843 Date strtodate = formatter.parse(sdate, pos);
844 String dateString = formatter.format(strtodate);
845 return dateString;
846 }
847
848 public static void main(String[] args) throws Exception {
849 try {
850 //System.out.print(Integer.valueOf(getTwoDay(“2006-11-03 12:22:10”, “2006-11-02 11:22:09”)));
851 } catch (Exception e) {
852 throw new Exception();
853 }
854 //System.out.println(“sss”);
855 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值