精华内容
下载资源
问答
  • 1 Java时间格式转换大全23 import java.text.*;...5 public classVeDate {6 /**7 * 获取现在时间8 *9 *@return返回时间类型 yyyy-MM-dd HH:mm:ss10 */11 public staticDate getNowDate() {12 Date current...

    1 Java时间格式转换大全2

    3 import java.text.*;4 importjava.util.Calendar;5 public classVeDate {6 /**

    7 * 获取现在时间8 *9 *@return返回时间类型 yyyy-MM-dd HH:mm:ss10 */

    11 public staticDate getNowDate() {12 Date currentTime = newDate();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 returncurrentTime_2;18 }19 /**

    20 * 获取现在时间21 *22 * @return返回短时间格式 yyyy-MM-dd23 */

    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:ss41 */

    42 public staticString getStringDate() {43 Date currentTime = newDate();44 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");45 String dateString =formatter.format(currentTime);46 returndateString;47 }48 /**

    49 * 获取现在时间50 *51 *@return返回短时间字符串格式yyyy-MM-dd52 */

    53 public staticString getStringDateShort() {54 Date currentTime = newDate();55 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");56 String dateString =formatter.format(currentTime);57 returndateString;58 }59 /**

    60 * 获取时间 小时:分;秒 HH:mm:ss61 *62 *@return

    63 */

    64 public staticString getTimeShort() {65 SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");66 Date currentTime = newDate();67 String dateString =formatter.format(currentTime);68 returndateString;69 }70 /**

    71 * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss72 *73 *@paramstrDate74 *@return

    75 */

    76 public staticDate 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 returnstrtodate;81 }82 /**

    83 * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss84 *85 *@paramdateDate86 *@return

    87 */

    88 public staticString dateToStrLong(java.util.Date dateDate) {89 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");90 String dateString =formatter.format(dateDate);91 returndateString;92 }93 /**

    94 * 将短时间格式时间转换为字符串 yyyy-MM-dd95 *96 *@paramdateDate97 *@paramk98 *@return

    99 */

    100 public staticString dateToStr(java.util.Date dateDate) {101 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");102 String dateString =formatter.format(dateDate);103 returndateString;104 }105 /**

    106 * 将短时间格式字符串转换为时间 yyyy-MM-dd107 *108 *@paramstrDate109 *@return

    110 */

    111 public staticDate 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 returnstrtodate;116 }117 /**

    118 * 得到现在时间119 *120 *@return

    121 */

    122 public staticDate getNow() {123 Date currentTime = newDate();124 returncurrentTime;125 }126 /**

    127 * 提取一个月中的最后一天128 *129 *@paramday130 *@return

    131 */

    132 public static Date getLastDate(longday) {133 Date date = newDate();134 long date_3_hm = date.getTime() - 3600000 * 34 *day;135 Date date_3_hm_date = newDate(date_3_hm);136 returndate_3_hm_date;137 }138 /**

    139 * 得到现在时间140 *141 *@return字符串 yyyyMMdd HHmmss142 */

    143 public staticString getStringToday() {144 Date currentTime = newDate();145 SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");146 String dateString =formatter.format(currentTime);147 returndateString;148 }149 /**

    150 * 得到现在小时151 */

    152 public staticString getHour() {153 Date currentTime = newDate();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 returnhour;159 }160 /**

    161 * 得到现在分钟162 *163 *@return

    164 */

    165 public staticString getTime() {166 Date currentTime = newDate();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 returnmin;172 }173 /**

    174 * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。175 *176 *@paramsformat177 * yyyyMMddhhmmss178 *@return

    179 */

    180 public staticString getUserDate(String sformat) {181 Date currentTime = newDate();182 SimpleDateFormat formatter = newSimpleDateFormat(sformat);183 String dateString =formatter.format(currentTime);184 returndateString;185 }186 --------------------------------------------------------------------------------------------------------------------------------

    187

    188 做成方法189

    190 import java.util.*;191 import java.text.*;192 importjava.util.Calendar;193

    194 public classVeDate {195 /**

    196 * 获取现在时间197 *198 *@return返回时间类型 yyyy-MM-dd HH:mm:ss199 */

    200 public staticDate getNowDate() {201 Date currentTime = newDate();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 returncurrentTime_2;207 }208

    209 /**

    210 * 获取现在时间211 *212 * @return返回短时间格式 yyyy-MM-dd213 */

    214 public staticDate getNowDateShort() {215 Date currentTime = newDate();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 returncurrentTime_2;221 }222

    223 /**

    224 * 获取现在时间225 *226 * @return返回字符串格式 yyyy-MM-dd HH:mm:ss227 */

    228 public staticString getStringDate() {229 Date currentTime = newDate();230 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");231 String dateString =formatter.format(currentTime);232 returndateString;233 }234

    235 /**

    236 * 获取现在时间237 *238 *@return返回短时间字符串格式yyyy-MM-dd239 */

    240 public staticString getStringDateShort() {241 Date currentTime = newDate();242 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");243 String dateString =formatter.format(currentTime);244 returndateString;245 }246

    247 /**

    248 * 获取时间 小时:分;秒 HH:mm:ss249 *250 *@return

    251 */

    252 public staticString getTimeShort() {253 SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");254 Date currentTime = newDate();255 String dateString =formatter.format(currentTime);256 returndateString;257 }258

    259 /**

    260 * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss261 *262 *@paramstrDate263 *@return

    264 */

    265 public staticDate 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 returnstrtodate;270 }271

    272 /**

    273 * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss274 *275 *@paramdateDate276 *@return

    277 */

    278 public staticString dateToStrLong(java.util.Date dateDate) {279 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");280 String dateString =formatter.format(dateDate);281 returndateString;282 }283

    284 /**

    285 * 将短时间格式时间转换为字符串 yyyy-MM-dd286 *287 *@paramdateDate288 *@paramk289 *@return

    290 */

    291 public staticString dateToStr(java.util.Date dateDate) {292 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");293 String dateString =formatter.format(dateDate);294 returndateString;295 }296

    297 /**

    298 * 将短时间格式字符串转换为时间 yyyy-MM-dd299 *300 *@paramstrDate301 *@return

    302 */

    303 public staticDate 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 returnstrtodate;308 }309

    310 /**

    311 * 得到现在时间312 *313 *@return

    314 */

    315 public staticDate getNow() {316 Date currentTime = newDate();317 returncurrentTime;318 }319

    320 /**

    321 * 提取一个月中的最后一天322 *323 *@paramday324 *@return

    325 */

    326 public static Date getLastDate(longday) {327 Date date = newDate();328 long date_3_hm = date.getTime() - 3600000 * 34 *day;329 Date date_3_hm_date = newDate(date_3_hm);330 returndate_3_hm_date;331 }332

    333 /**

    334 * 得到现在时间335 *336 *@return字符串 yyyyMMdd HHmmss337 */

    338 public staticString getStringToday() {339 Date currentTime = newDate();340 SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");341 String dateString =formatter.format(currentTime);342 returndateString;343 }344

    345 /**

    346 * 得到现在小时347 */

    348 public staticString getHour() {349 Date currentTime = newDate();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 returnhour;355 }356

    357 /**

    358 * 得到现在分钟359 *360 *@return

    361 */

    362 public staticString getTime() {363 Date currentTime = newDate();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 returnmin;369 }370

    371 /**

    372 * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。373 *374 *@paramsformat375 * yyyyMMddhhmmss376 *@return

    377 */

    378 public staticString getUserDate(String sformat) {379 Date currentTime = newDate();380 SimpleDateFormat formatter = newSimpleDateFormat(sformat);381 String dateString =formatter.format(currentTime);382 returndateString;383 }384

    385 /**

    386 * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟387 */

    388 public staticString 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 staticString 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 staticString 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 returnmydate1;435 }436

    437 /**

    438 * 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数439 */

    440 public staticString 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 returnmdate;449 }catch(Exception e){450 return "";451 }452 }453

    454 /**

    455 * 判断是否润年456 *457 *@paramddate458 *@return

    459 */

    460 public static booleanisLeapYear(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 2006483 *484 *@paramstr485 *@return

    486 */

    487 public staticString 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 *@paramdat500 *@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 returnstr;518 }519

    520 /**

    521 * 判断二个时间是否在同一个周522 *523 *@paramdate1524 *@paramdate2525 *@return

    526 */

    527 public static booleanisSameWeekDates(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 staticString 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 *@paramsdate565 *@paramnum566 *@return

    567 */

    568 public staticString 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 *@paramsdate594 *@return

    595 */

    596 public staticString 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~7603 //1=星期日 7=星期六,其他类推

    604 return new SimpleDateFormat("EEEE").format(c.getTime());605 }606 public staticString 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 returnstr;625 }626

    627 /**

    628 * 两个时间之间的天数629 *630 *@paramdate1631 *@paramdate2632 *@return

    633 */

    634 public static longgetDays(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 returnday;650 }651

    652 /**

    653 * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间654 * 此函数返回该日历第一行星期日所在的日期655 *656 *@paramsdate657 *@return

    658 */

    659 public staticString 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 returnnewday;670 }671

    672 /**

    673 * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数674 *675 *@paramk676 * 表示是取几位随机数,可以自己定677 */

    678

    679 public static String getNo(intk) {680

    681 return getUserDate("yyyyMMddhhmmss") +getRandom(k);682 }683

    684 /**

    685 * 返回一个随机数686 *687 *@parami688 *@return

    689 */

    690 public static String getRandom(inti) {691 Random jjj = newRandom();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 returnjj;700 }701

    702 /**

    703 *704 *@paramargs705 */

    706 public static booleanRightDate(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表示返回的格式 1727 * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回728 **************************************************************************/

    729 public staticString getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {730 Date currentTime = newDate();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 = newroc.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 returnsreturn;807 }808

    809 public static String getNextMonthDay(String sdate, intm) {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 staticString getOKDate(String sdate) {830 if (sdate == null || sdate.equals(""))831 returngetStringDateShort();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 returndateString;846 }847

    848 public static void main(String[] args) throwsException {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 newException();853 }854 //System.out.println("sss");

    855 }

    展开全文
  • 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 返回时间类型 ...

    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 }

    展开全文
  • "2 请编写application 计算并 "1+2...+2008"的结果3 找出两个字符串中所有共同的子字符串4 将碾相除法求两个整数的最大公因数gcd(a,b)用递归方法实现.(1) 求两个整数a,b的最小公倍数.(2) 求撒们个整数a,b,c的最大...

    ainiyanyan13142007-03-30 22:39

    1 编写applet 程序的页面输出 红色的 "hello would !"

    2 请编写application 计算并 "1+2...+2008"的结果

    3 找出两个字符串中所有共同的子字符串

    4 将碾转相除法求两个整数的最大公因数gcd(a,b)用递归方法实现.

    (1) 求两个整数a,b的最小公倍数.

    (2) 求撒们个整数a,b,c的最大公约数

    5 求满足1+2+...+n<5,6,7,8的最大n值 (application)

    6 请编写程序由程序的参数给一个字符串,然后由程序位计算并输出在该字

    符串出现的次数.

    7 int a[]={2,4,1,3,5}要求对其进行非降序排列

    希望各位网络上的高手可以不吝赐教 谢谢了.!! ^o^!!!

    "Кǐss滟滟 (2007-03-30 00:35:30)

    1 编写applet 程序的页面输出 红色的 "hello would !"

    2 请编写application 计算并 "1+2...+2008"的结果

    3 找出两个字符串中所有共同的子字符串

    4 将碾转相除法求两个整数的最大公因数gcd(a,b)用递归方法实现.

    (1) 求两个整数a,b的最小公倍数.

    (2) 求撒们个整数a,b,c的最大公约数

    5 求满足1+2+...+n<5,6,7,8的最大n值 (application)

    6 请编写程序由程序的参数给一个字符串,然后由程序位计算并输出在该字

    符串出现的次数.

    7 int a[]={2,4,1,3,5}要求对其进行非降序排列

    希望各位网络上的高手可以不吝赐教 谢谢了.!! ^o^!!!

    展开全文
  • Java时间格式转换大全 import java.text.*; import java.util.Calendar; import java.util.Date; public class VeDate { ... * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public st...
    Java时间格式转换大全
    
    import java.text.*;
    import java.util.Calendar;
    import java.util.Date;
    
    public class VeDate {
        /**
         * 获取现在时间
         *
         * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
         */
        public static Date getNowDate() {
            Date currentTime = new Date();
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String dateString = formatter.format(currentTime);
            ParsePosition pos = new ParsePosition(8);
            Date currentTime_2 = formatter.parse(dateString, pos);
            return currentTime_2;
        }
        /**
         * 获取现在时间
         *
         * @return返回短时间格式 yyyy-MM-dd
         */
        DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
        DateFormat format 2= new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        Date date = null;
        String str = null;
    
    // String转Date    
        str = "2007-1-18";          
    try {
            date = format1.parse(str);
            data = format2.parse(str);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        /**
         * 获取现在时间
         *
         * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
         */
        public static String getStringDate() {
            Date currentTime = new Date();
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String dateString = formatter.format(currentTime);
            return dateString;
        }
        /**
         * 获取现在时间
         *
         * @return 返回短时间字符串格式yyyy-MM-dd
         */
        public static String getStringDateShort() {
            Date currentTime = new Date();
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            String dateString = formatter.format(currentTime);
            return dateString;
        }
        /**
         * 获取时间 小时:分;秒 HH:mm:ss
         *
         * @return
         */
        public static String getTimeShort() {
            SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
            Date currentTime = new Date();
            String dateString = formatter.format(currentTime);
            return dateString;
        }
        /**
         * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
         *
         * @param strDate
         * @return
         */
        public static Date strToDateLong(String strDate) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            ParsePosition pos = new ParsePosition(0);
            Date strtodate = formatter.parse(strDate, pos);
            return strtodate;
        }
        /**
         * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
         *
         * @param dateDate
         * @return
         */
        public static String dateToStrLong(java.util.Date dateDate) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String dateString = formatter.format(dateDate);
            return dateString;
        }
        /**
         * 将短时间格式时间转换为字符串 yyyy-MM-dd
         *
         * @param dateDate
         * @param k
         * @return
         */
        public static String dateToStr(java.util.Date dateDate) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            String dateString = formatter.format(dateDate);
            return dateString;
        }
        /**
         * 将短时间格式字符串转换为时间 yyyy-MM-dd 
         *
         * @param strDate
         * @return
         */
        public static Date strToDate(String strDate) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
            ParsePosition pos = new ParsePosition(0);
            Date strtodate = formatter.parse(strDate, pos);
            return strtodate;
        }
        /**
         * 得到现在时间
         *
         * @return
         */
        public static Date getNow() {
            Date currentTime = new Date();
            return currentTime;
        }
        /**
         * 提取一个月中的最后一天
         *
         * @param day
         * @return
         */
        public static Date getLastDate(long day) {
            Date date = new Date();
            long date_3_hm = date.getTime() - 3600000 * 34 * day;
            Date date_3_hm_date = new Date(date_3_hm);
            return date_3_hm_date;
        }
        /**
         * 得到现在时间
         *
         * @return 字符串 yyyyMMdd HHmmss
         */
        public static String getStringToday() {
            Date currentTime = new Date();
            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
            String dateString = formatter.format(currentTime);
            return dateString;
        }
        /**
         * 得到现在小时
         */
        public static String getHour() {
            Date currentTime = new Date();
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String dateString = formatter.format(currentTime);
            String hour;
            hour = dateString.substring(11, 13);
            return hour;
        }
        /**
         * 得到现在分钟
         *
         * @return
         */
        public static String getTime() {
            Date currentTime = new Date();
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String dateString = formatter.format(currentTime);
            String min;
            min = dateString.substring(14, 16);
            return min;
        }
        /**
         * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
         *
         * @param sformat
         *             yyyyMMddhhmmss
         * @return
         */
        public static String getUserDate(String sformat) {
            Date currentTime = new Date();
            SimpleDateFormat formatter = new SimpleDateFormat(sformat);
            String dateString = formatter.format(currentTime);
            return dateString;
        }
    --------------------------------------------------------------------------------------------------------------------------------
    
        做成方法
    
    import java.util.*;
    import java.text.*;
    import java.util.Calendar;
    
        public class VeDate {
            /**
             * 获取现在时间
             *
             * @return 返回时间类型 yyyy-MM-dd HH:mm:ss
             */
            public static Date getNowDate() {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dateString = formatter.format(currentTime);
                ParsePosition pos = new ParsePosition(8);
                Date currentTime_2 = formatter.parse(dateString, pos);
                return currentTime_2;
            }
    
            /**
             * 获取现在时间
             *
             * @return返回短时间格式 yyyy-MM-dd
             */
            public static Date getNowDateShort() {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                String dateString = formatter.format(currentTime);
                ParsePosition pos = new ParsePosition(8);
                Date currentTime_2 = formatter.parse(dateString, pos);
                return currentTime_2;
            }
    
            /**
             * 获取现在时间
             *
             * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
             */
            public static String getStringDate() {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dateString = formatter.format(currentTime);
                return dateString;
            }
    
            /**
             * 获取现在时间
             *
             * @return 返回短时间字符串格式yyyy-MM-dd
             */
            public static String getStringDateShort() {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                String dateString = formatter.format(currentTime);
                return dateString;
            }
    
            /**
             * 获取时间 小时:分;秒 HH:mm:ss
             *
             * @return
             */
            public static String getTimeShort() {
                SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
                Date currentTime = new Date();
                String dateString = formatter.format(currentTime);
                return dateString;
            }
    
            /**
             * 将长时间格式字符串转换为时间 yyyy-MM-dd HH:mm:ss
             *
             * @param strDate
             * @return
             */
            public static Date strToDateLong(String strDate) {
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                ParsePosition pos = new ParsePosition(0);
                Date strtodate = formatter.parse(strDate, pos);
                return strtodate;
            }
    
            /**
             * 将长时间格式时间转换为字符串 yyyy-MM-dd HH:mm:ss
             *
             * @param dateDate
             * @return
             */
            public static String dateToStrLong(java.util.Date dateDate) {
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dateString = formatter.format(dateDate);
                return dateString;
            }
    
            /**
             * 将短时间格式时间转换为字符串 yyyy-MM-dd
             *
             * @param dateDate
             * @param k
             * @return
             */
            public static String dateToStr(java.util.Date dateDate) {
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                String dateString = formatter.format(dateDate);
                return dateString;
            }
    
            /**
             * 将短时间格式字符串转换为时间 yyyy-MM-dd 
             *
             * @param strDate
             * @return
             */
            public static Date strToDate(String strDate) {
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                ParsePosition pos = new ParsePosition(0);
                Date strtodate = formatter.parse(strDate, pos);
                return strtodate;
            }
    
            /**
             * 得到现在时间
             *
             * @return
             */
            public static Date getNow() {
                Date currentTime = new Date();
                return currentTime;
            }
    
            /**
             * 提取一个月中的最后一天
             *
             * @param day
             * @return
             */
            public static Date getLastDate(long day) {
                Date date = new Date();
                long date_3_hm = date.getTime() - 3600000 * 34 * day;
                Date date_3_hm_date = new Date(date_3_hm);
                return date_3_hm_date;
            }
    
            /**
             * 得到现在时间
             *
             * @return 字符串 yyyyMMdd HHmmss
             */
            public static String getStringToday() {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd HHmmss");
                String dateString = formatter.format(currentTime);
                return dateString;
            }
    
            /**
             * 得到现在小时
             */
            public static String getHour() {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dateString = formatter.format(currentTime);
                String hour;
                hour = dateString.substring(11, 13);
                return hour;
            }
    
            /**
             * 得到现在分钟
             *
             * @return
             */
            public static String getTime() {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String dateString = formatter.format(currentTime);
                String min;
                min = dateString.substring(14, 16);
                return min;
            }
    
            /**
             * 根据用户传入的时间表示格式,返回当前时间的格式 如果是yyyyMMdd,注意字母y不能大写。
             *
             * @param sformat
             *            yyyyMMddhhmmss
             * @return
             */
            public static String getUserDate(String sformat) {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat(sformat);
                String dateString = formatter.format(currentTime);
                return dateString;
            }
    
            /**
             * 二个小时时间间的差值,必须保证二个时间都是"HH:MM"的格式,返回字符型的分钟
             */
            public static String getTwoHour(String st1, String st2) {
                String[] kk = null;
                String[] jj = null;
                kk = st1.split(":");
                jj = st2.split(":");
                if (Integer.parseInt(kk[0]) < Integer.parseInt(jj[0]))
                    return "0";
                else {
                    double y = Double.parseDouble(kk[0]) + Double.parseDouble(kk[1]) / 60;
                    double u = Double.parseDouble(jj[0]) + Double.parseDouble(jj[1]) / 60;
                    if ((y - u) > 0)
                        return y - u + "";
                    else
                        return "0";
                }
            }
    
            /**
             * 得到二个日期间的间隔天数
             */
            public static String getTwoDay(String sj1, String sj2) {
                SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
                long day = 0;
                try {
                    java.util.Date date = myFormatter.parse(sj1);
                    java.util.Date mydate = myFormatter.parse(sj2);
                    day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
                } catch (Exception e) {
                    return "";
                }
                return day + "";
            }
    
            /**
             * 时间前推或后推分钟,其中JJ表示分钟.
             */
            public static String getPreTime(String sj1, String jj) {
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String mydate1 = "";
                try {
                    Date date1 = format.parse(sj1);
                    long Time = (date1.getTime() / 1000) + Integer.parseInt(jj) * 60;
                    date1.setTime(Time * 1000);
                    mydate1 = format.format(date1);
                } catch (Exception e) {
                }
                return mydate1;
            }
    
            /**
             * 得到一个时间延后或前移几天的时间,nowdate为时间,delay为前移或后延的天数
             */
            public static String getNextDay(String nowdate, String delay) {
                try{
                    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                    String mdate = "";
                    Date d = strToDate(nowdate);
                    long myTime = (d.getTime() / 1000) + Integer.parseInt(delay) * 24 * 60 * 60;
                    d.setTime(myTime * 1000);
                    mdate = format.format(d);
                    return mdate;
                }catch(Exception e){
                    return "";
                }
            }
    
            /**
             * 判断是否润年
             *
             * @param ddate
             * @return
             */
            public static boolean isLeapYear(String ddate) {
    
                /**
                 * 详细设计: 1.被400整除是闰年,否则: 2.不能被4整除则不是闰年 3.能被4整除同时不能被100整除则是闰年
                 * 3.能被4整除同时能被100整除则不是闰年
                 */
                Date d = strToDate(ddate);
                GregorianCalendar gc = (GregorianCalendar) Calendar.getInstance();
                gc.setTime(d);
                int year = gc.get(Calendar.YEAR);
                if ((year % 400) == 0)
                    return true;
                else if ((year % 4) == 0) {
                    if ((year % 100) == 0)
                        return false;
                    else
                        return true;
                } else
                    return false;
            }
    
            /**
             * 返回美国时间格式 26 Apr 2006
             *
             * @param str
             * @return
             */
            public static String getEDate(String str) {
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                ParsePosition pos = new ParsePosition(0);
                Date strtodate = formatter.parse(str, pos);
                String j = strtodate.toString();
                String[] k = j.split(" ");
                return k[2] + k[1].toUpperCase() + k[5].substring(2, 4);
            }
    
            /**
             * 获取一个月的最后一天
             *
             * @param dat
             * @return
             */
            public static String getEndDateOfMonth(String dat) {// yyyy-MM-dd
                String str = dat.substring(0, 8);
                String month = dat.substring(5, 7);
                int mon = Integer.parseInt(month);
                if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12) {
                    str += "31";
                } else if (mon == 4 || mon == 6 || mon == 9 || mon == 11) {
                    str += "30";
                } else {
                    if (isLeapYear(dat)) {
                        str += "29";
                    } else {
                        str += "28";
                    }
                }
                return str;
            }
    
            /**
             * 判断二个时间是否在同一个周
             *
             * @param date1
             * @param date2
             * @return
             */
            public static boolean isSameWeekDates(Date date1, Date date2) {
                Calendar cal1 = Calendar.getInstance();
                Calendar cal2 = Calendar.getInstance();
                cal1.setTime(date1);
                cal2.setTime(date2);
                int subYear = cal1.get(Calendar.YEAR) - cal2.get(Calendar.YEAR);
                if (0 == subYear) {
                    if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
                        return true;
                } else if (1 == subYear && 11 == cal2.get(Calendar.MONTH)) {
                    // 如果12月的最后一周横跨来年第一周的话则最后一周即算做来年的第一周
                    if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
                        return true;
                } else if (-1 == subYear && 11 == cal1.get(Calendar.MONTH)) {
                    if (cal1.get(Calendar.WEEK_OF_YEAR) == cal2.get(Calendar.WEEK_OF_YEAR))
                        return true;
                }
                return false;
            }
    
            /**
             * 产生周序列,即得到当前时间所在的年度是第几周
             *
             * @return
             */
            public static String getSeqWeek() {
                Calendar c = Calendar.getInstance(Locale.CHINA);
                String week = Integer.toString(c.get(Calendar.WEEK_OF_YEAR));
                if (week.length() == 1)
                    week = "0" + week;
                String year = Integer.toString(c.get(Calendar.YEAR));
                return year + week;
            }
    
            /**
             * 获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号
             *
             * @param sdate
             * @param num
             * @return
             */
            public static String getWeek(String sdate, String num) {
                // 再转换为时间
                Date dd = VeDate.strToDate(sdate);
                Calendar c = Calendar.getInstance();
                c.setTime(dd);
                if (num.equals("1")) // 返回星期一所在的日期
                    c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
                else if (num.equals("2")) // 返回星期二所在的日期
                    c.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY);
                else if (num.equals("3")) // 返回星期三所在的日期
                    c.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY);
                else if (num.equals("4")) // 返回星期四所在的日期
                    c.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY);
                else if (num.equals("5")) // 返回星期五所在的日期
                    c.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);
                else if (num.equals("6")) // 返回星期六所在的日期
                    c.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);
                else if (num.equals("0")) // 返回星期日所在的日期
                    c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
                return new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
            }
    
            /**
             * 根据一个日期,返回是星期几的字符串
             *
             * @param sdate
             * @return
             */
            public static String getWeek(String sdate) {
                // 再转换为时间
                Date date = VeDate.strToDate(sdate);
                Calendar c = Calendar.getInstance();
                c.setTime(date);
                // int hour=c.get(Calendar.DAY_OF_WEEK);
                // hour中存的就是星期几了,其范围 1~7
                // 1=星期日 7=星期六,其他类推
                return new SimpleDateFormat("EEEE").format(c.getTime());
            }
            public static String getWeekStr(String sdate){
                String str = "";
                str = VeDate.getWeek(sdate);
                if("1".equals(str)){
                    str = "星期日";
                }else if("2".equals(str)){
                    str = "星期一";
                }else if("3".equals(str)){
                    str = "星期二";
                }else if("4".equals(str)){
                    str = "星期三";
                }else if("5".equals(str)){
                    str = "星期四";
                }else if("6".equals(str)){
                    str = "星期五";
                }else if("7".equals(str)){
                    str = "星期六";
                }
                return str;
            }
    
            /**
             * 两个时间之间的天数
             *
             * @param date1
             * @param date2
             * @return
             */
            public static long getDays(String date1, String date2) {
                if (date1 == null || date1.equals(""))
                    return 0;
                if (date2 == null || date2.equals(""))
                    return 0;
                // 转换为标准时间
                SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
                java.util.Date date = null;
                java.util.Date mydate = null;
                try {
                    date = myFormatter.parse(date1);
                    mydate = myFormatter.parse(date2);
                } catch (Exception e) {
                }
                long day = (date.getTime() - mydate.getTime()) / (24 * 60 * 60 * 1000);
                return day;
            }
    
            /**
             * 形成如下的日历 , 根据传入的一个时间返回一个结构 星期日 星期一 星期二 星期三 星期四 星期五 星期六 下面是当月的各个时间
             * 此函数返回该日历第一行星期日所在的日期
             *
             * @param sdate
             * @return
             */
            public static String getNowMonth(String sdate) {
                // 取该时间所在月的一号
                sdate = sdate.substring(0, 8) + "01";
    
                // 得到这个月的1号是星期几
                Date date = VeDate.strToDate(sdate);
                Calendar c = Calendar.getInstance();
                c.setTime(date);
                int u = c.get(Calendar.DAY_OF_WEEK);
                String newday = VeDate.getNextDay(sdate, (1 - u) + "");
                return newday;
            }
    
            /**
             * 取得数据库主键 生成格式为yyyymmddhhmmss+k位随机数
             *
             * @param k
             *            表示是取几位随机数,可以自己定
             */
    
            public static String getNo(int k) {
    
                return getUserDate("yyyyMMddhhmmss") + getRandom(k);
            }
    
            /**
             * 返回一个随机数
             *
             * @param i
             * @return
             */
            public static String getRandom(int i) {
                Random jjj = new Random();
                // int suiJiShu = jjj.nextInt(9);
                if (i == 0)
                    return "";
                String jj = "";
                for (int k = 0; k < i; k++) {
                    jj = jj + jjj.nextInt(9);
                }
                return jj;
            }
    
            /**
             *
             * @param args
             */
            public static boolean RightDate(String date) {
    
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
                ;
                if (date == null)
                    return false;
                if (date.length() > 10) {
                    sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
                } else {
                    sdf = new SimpleDateFormat("yyyy-MM-dd");
                }
                try {
                    sdf.parse(date);
                } catch (ParseException pe) {
                    return false;
                }
                return true;
            }
    
            /***************************************************************************
             * //nd=1表示返回的值中包含年度 //yf=1表示返回的值中包含月份 //rq=1表示返回的值中包含日期 //format表示返回的格式 1
             * 以年月日中文返回 2 以横线-返回 // 3 以斜线/返回 4 以缩写不带其它符号形式返回 // 5 以点号.返回
             **************************************************************************/
            public static String getStringDateMonth(String sdate, String nd, String yf, String rq, String format) {
                Date currentTime = new Date();
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                String dateString = formatter.format(currentTime);
                String s_nd = dateString.substring(0, 4); // 年份
                String s_yf = dateString.substring(5, 7); // 月份
                String s_rq = dateString.substring(8, 10); // 日期
                String sreturn = "";
                roc.util.MyChar mc = new roc.util.MyChar();
                if (sdate == null || sdate.equals("") || !mc.Isdate(sdate)) { // 处理空值情况
                    if (nd.equals("1")) {
                        sreturn = s_nd;
                        // 处理间隔符
                        if (format.equals("1"))
                            sreturn = sreturn + "年";
                        else if (format.equals("2"))
                            sreturn = sreturn + "-";
                        else if (format.equals("3"))
                            sreturn = sreturn + "/";
                        else if (format.equals("5"))
                            sreturn = sreturn + ".";
                    }
                    // 处理月份
                    if (yf.equals("1")) {
                        sreturn = sreturn + s_yf;
                        if (format.equals("1"))
                            sreturn = sreturn + "月";
                        else if (format.equals("2"))
                            sreturn = sreturn + "-";
                        else if (format.equals("3"))
                            sreturn = sreturn + "/";
                        else if (format.equals("5"))
                            sreturn = sreturn + ".";
                    }
                    // 处理日期
                    if (rq.equals("1")) {
                        sreturn = sreturn + s_rq;
                        if (format.equals("1"))
                            sreturn = sreturn + "日";
                    }
                } else {
                    // 不是空值,也是一个合法的日期值,则先将其转换为标准的时间格式
                    sdate = roc.util.RocDate.getOKDate(sdate);
                    s_nd = sdate.substring(0, 4); // 年份
                    s_yf = sdate.substring(5, 7); // 月份
                    s_rq = sdate.substring(8, 10); // 日期
                    if (nd.equals("1")) {
                        sreturn = s_nd;
                        // 处理间隔符
                        if (format.equals("1"))
                            sreturn = sreturn + "年";
                        else if (format.equals("2"))
                            sreturn = sreturn + "-";
                        else if (format.equals("3"))
                            sreturn = sreturn + "/";
                        else if (format.equals("5"))
                            sreturn = sreturn + ".";
                    }
                    // 处理月份
                    if (yf.equals("1")) {
                        sreturn = sreturn + s_yf;
                        if (format.equals("1"))
                            sreturn = sreturn + "月";
                        else if (format.equals("2"))
                            sreturn = sreturn + "-";
                        else if (format.equals("3"))
                            sreturn = sreturn + "/";
                        else if (format.equals("5"))
                            sreturn = sreturn + ".";
                    }
                    // 处理日期
                    if (rq.equals("1")) {
                        sreturn = sreturn + s_rq;
                        if (format.equals("1"))
                            sreturn = sreturn + "日";
                    }
                }
                return sreturn;
            }
    
            public static String getNextMonthDay(String sdate, int m) {
                sdate = getOKDate(sdate);
                int year = Integer.parseInt(sdate.substring(0, 4));
                int month = Integer.parseInt(sdate.substring(5, 7));
                month = month + m;
                if (month < 0) {
                    month = month + 12;
                    year = year - 1;
                } else if (month > 12) {
                    month = month - 12;
                    year = year + 1;
                }
                String smonth = "";
                if (month < 10)
                    smonth = "0" + month;
                else
                    smonth = "" + month;
                return year + "-" + smonth + "-10";
            }
    
            public static String getOKDate(String sdate) {
                if (sdate == null || sdate.equals(""))
                    return getStringDateShort();
    
                if (!VeStr.Isdate(sdate)) {
                    sdate = getStringDateShort();
                }
                // 将“/”转换为“-”
                sdate = VeStr.Replace(sdate, "/", "-");
                // 如果只有8位长度,则要进行转换
                if (sdate.length() == 8)
                    sdate = sdate.substring(0, 4) + "-" + sdate.substring(4, 6) + "-" + sdate.substring(6, 8);
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                ParsePosition pos = new ParsePosition(0);
                Date strtodate = formatter.parse(sdate, pos);
                String dateString = formatter.format(strtodate);
                return dateString;
            }
    
            public static void main(String[] args) throws Exception {
                try {
                    //System.out.print(Integer.valueOf(getTwoDay("2006-11-03 12:22:10", "2006-11-02 11:22:09")));
                } catch (Exception e) {
                    throw new Exception();
                }
                //System.out.println("sss");
            }
    展开全文
  • Java获取Oracle中CLOB字段转换成String : try {PreparedStatement... Result首页 → 数据库技术背景:阅读新闻Java获取Oracle中CLOB字段转换成String[日期:2012-02-05]来源:Linux社区作者:Linux[字体:]Java获取...
  • Java获取Oracle中CLOB字段转换成String : try {PreparedStatement... Result首页 → 数据库技术背景:阅读新闻Java获取Oracle中CLOB字段转换成String[日期:2012-02-05]来源:Linux社区作者:Linux[字体:]Java获取...
  • public class VeDate { ... * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new Sim...
  • Java时间格式转换大全 import java.text.*; import java.util....获取现在时间 @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public static Date getNowDate() { Date currentTime = new Date(); Si...
  • JAVA获取当前日期 import java.util.*;    public class D  {  public static void main(String []abc)  {  int y,m,d,h,mi,s;  Calendar cal=Calendar.getInstance();  y=cal.get(Calen
  • public class Test2{public long getTwoDay(Date begin_date, Date end_date) {long day = 0;try {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd...String sdate = format.format(Calendar.getInstan...
  • 这几天一直在处理Java日期问题,通常需要按要求生成日期的话,通常会用到util包中的Calendar类,再用...1.获取当期日期、年份、月份importjava.util.Calendar;publicclassMain{publicstaticvoidmain(String[]arg...
  • Java Date与String的相互转换详解前言:我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型...
  • 鉴于Date中的getYear()等相关api由calendar替代,在此记录一些基本日期格式化,获取,转换等问题。 String data1="2021-01-01"; String data2="2022-02-01"; Calendar instance = Calendar.getInstance(); ...
  • 往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时候,需要从数据库获取出生日期,...
  • import java.text.*;...public class VeDate {/*** 获取现在时间** @return 返回时间类型 yyyy-MM-dd HH:mm:ss*/public static Date getNowDate() {Date currentTime = new Date();SimpleDateFormat form...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 561
精华内容 224
关键字:

java获取日期转string

java 订阅