典型日期操作

1.时间前推或后推分钟,其中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; 
} 

2.得到一个时间延后或前移几天的时间,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 ""; 
  } 
} 
――――――――――――――
String date_str=String.valueOf(date);//日期累加显示
String dd = date_str.substring(8,10);
String DD = date_str.substring(0,8)+String.valueOf(Integer.parseInt(dd) +60);
java.sql.Date backTime= java.sql.Date.valueOf(DD);
System.out.println(backTime);
3.判断是否润年 
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; 
}
4.判断二个时间是否在同一个周 
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; 
} 

5.产生周序列,即得到当前时间所在的年度是第几周 
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; 
} 

6.获得一个日期所在的周的星期几的日期,如要找出2002年2月3日所在周的星期一是几号 
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()); 
} 

7.根据一个日期,返回是星期几的字符串 
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; 
}
8.两个时间之间的天数 
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; 
}

你可能感兴趣的:(sql,C++,c,算法,C#)