Java实现时间日期格式转换示例

Java时间格式转换大全

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
  */
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");
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Java 日期转换详解及实例代码

    Java 日期转换 涉及的核心类:Date类.SimpleDateFormat类.Calendar类 一. Date型与long型 Date型转换为long型 Date date = new Date();//取得当前时间Date类型 long date2long = date.getTime();//Date转long long型转换为Date型 long cur = System.currentTimeMills();//取得当前时间long型返回 Date long2date = new

  • java实现字符串和日期类型相互转换的方法

    本文实例讲述了java实现字符串和日期类型相互转换的方法.分享给大家供大家参考,具体如下: Date inDate = new Date(); //获取当前日期 //建立一个一定格式的 SimpleDateFormat SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String date = f.format(inDate); //将Date转化为字符串 System.out.println(date

  • Java中常见的日期操作(取值、转换、加减、比较)

    Java 的开发过程中免不了与 Date 类型纠缠,准备总结一下项目经常使用的日期相关操作,JDK 版本 1.7,如果能够帮助大家节约那么几分钟起身活动一下,去泡杯咖啡,便是极好的,嘿嘿.当然,我只提供了可行的解决方案,并不保证是最佳实践,欢迎讨论. 1. 日期取值 在旧版本 JDK 的时代,有不少代码中日期取值利用了 java.util.Date 类,但是由于 Date 类不便于实现国际化,其实从 JDK1.1 开始,就更推荐使用 java.util.Calendar 类进行时间和日期方面的处

  • Java日期时间以及日期相互转换

    Java日期时间,以及相互转化,供大家参考,具体内容如下 package com.study.string; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class DateBase { public static voi

  • java日期操作工具类(获取指定日期、日期转换、相隔天数)

    本文实例为大家分享了java日期操作工具类,获取指定日期前一天.后一天:日期转换:两个日期之间相隔天数等工具类,供大家参考,具体内容如下 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class

  • 详解 Java中日期数据类型的处理之格式转换的实例

    详解 Java中日期数据类型的处理之格式转换的实例 概要: 日期以及时间格式处理,在Java中时间格式一般会涉及到的数据类型包括Calendar类和Date类. Date类: 1.Date类型转String类型(以时间格式1970-01-01 01:01:01为例) //yyyy-MM-dd HH:mm:ss表示24时间进制 SimpleDateFormat sDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String

  • java 日期各种格式之间的相互转换实例代码

    java 日期各种格式之间的相互转换实例代码 java日期各种格式之间的相互转换,直接调用静态方法 实例代码: java日期各种格式之间的相互转换,直接调用静态方法 package com.hxhk.cc.util; import java.text.SimpleDateFormat; import java.util.Date; import com.lowagie.text.pdf.codec.postscript.ParseException; public class DateUtil

  • java中字符串与日期的转换实例

    复制代码 代码如下: import java.sql.Timestamp;import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateIO { public static void main(String[] args) { Date date= new  DateIO().strTo

  • Java实现时间日期格式转换示例

    Java时间格式转换大全 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 SimpleDateForma

  • js和C# 时间日期格式转换的简单实例

    下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如 '/Date(1335258540000)/' 这样的字串. 整数1335258540000实际上是一个1970 年 1 月 1 日 00:00:00至这个DateTime中间间隔的毫秒数.通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,如下 用var date = eval('new ' + eval('/Date(

  • python中有关时间日期格式转换问题

    每次遇到pandas的dataframe某列日期格式问题总会哉坑,下面记录一下常用时间日期函数.... 1.字符串转化为日期 str->date import datetime date_str = '2006-01-03' date_ = datetime.datetime.strptime(date_str,'%Y-&m-%d') 这是单个字符串的转化,其中"%Y-%m-%d"表示日期字符串的格式,若date_str='2006/1/3',则可写为"%Y/%

  • Java中SimpleDateFormat日期格式转换详解及代码示例

    SimpleDateFormat是处理日期格式转换的类. 官方API_1.8关于SimpleDateFormat继承于DateFormate截图: SimpleDateFormat的构造器如下: SimpleDateFormat中的格式定义,常用的用红色框圈出: 中文解释: y : 年 M : 年中的月份 D : 年中的天数 d : 月中的天数 w : 年中的周数 W : 月中的周数 a : 上下/下午 H : 一天中的小时数(0-23) h : 一天中的小时数(0-12) m : 小时中的分钟

  • .Net与JS时间日期格式的转换问题对比分析

    本文实例分析了.Net与JS时间日期格式的转换问题.分享给大家供大家参考,具体如下: Js中的1415349957524整数 ,其实代表的是1970.1.1 00:00:00至现今某个时间点的时间间隔毫秒数.而在.Net中,我们可以用Ticks属性得到0001.1.1 00:00:00至现今某个时间点的时间间隔毫秒数. 具体代码实现如下所示: JS: //获取1970.1.1 00:00:00至现在的毫秒数 var milDate = +(new Date); .Net: //获取1970.1.

  • Java正则判断日期格式是否正确的方法示例

    本文实例讲述了Java正则判断日期格式是否正确的方法.分享给大家供大家参考,具体如下: 1.Java中用正则表达式判断日期格式是否正确 DateType.java: /** * @Title:DateType.java * @Package:com.you.dao * @Description: * @Author: 游海东 * @Version V1.2.3 */ package com.you.dao; import java.util.regex.Matcher; import java.

  • 解决Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题

    LocalDate . LocalTime . LocalDateTime 是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作.然而,我们在使用Spring Boot或使用Spring Cloud Feign的时候,往往会发现使用请求参数或返回结果中有 LocalDate . LocalTime . LocalDateTime 的时候会发生各种问题.本文我们就来说说这种情况下出现的问题,以及如何解决. 问题现象 先来看看症状.比如下面的例子: @Sprin

  • SpringBoot日期格式转换之配置全局日期格式转换器的实例详解

    1. SpringBoot设置后台向前台传递Date日期格式 在springboot应用中,@RestController注解的json默认序列化中,日期格式默认为:2020-12-03T15:12:26.000+00:00类型的显示. 在实际显示中,我们需要对其转换成我们需要的显示格式. 1.1 方式1:配置文件修改 配置文件配置application.yml: spring: # 配置日期格式化 jackson: date-format: yyyy-MM-dd HH:mm:ss #时间戳统一

  • Springboot+AOP实现时间参数格式转换

    目录 前言 场景 效果 实战 自定义注解一 自定义注解二 拦截器 工具类 使用 接口 调用 前言 场景 前端传过来的时间参数,我们后端自定义时间格式转化使用,想转成什么就转成什么. 不同业务场景,跟前端对接,一种控件基本时间参数是固定格式的,为了避免前端去转换时间参数的格式,跟前端约定好,让他们固定传递一种格式,后端自己看需求转换格式使用即可. 效果 ① 从 yyyy-MM-dd HH:mm:ss 转换成 yyyy-MM-dd 使用: ② 从 yyyyMMddHHmmss 转换成 yyyy-MM

  • 一文带你玩转MySQL获取时间和格式转换各类操作方法详解

    目录 前言 一.SQL时间存储类型 1.date 2.datetime 3.time 4.timestamp 5.varchar/bigint 二.获取时间 1.now() 2.localtime() 3.current_timestamp() 4.localtimestamp() 5.sysdate() 6.curdate() 7.current_time() 8. curtime() 9.current_time() 10. utc_date() 11.utc_time 12.utc_tim

随机推荐